Live Artifact Updates Without Full Application Redeployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating artifacts in a live production environment are inefficient, as they require recompiling and redeploying the entire application, leading to significant downtime and resource consumption, and are not suitable for multi-user environments due to reliance on development servers and delayed reflection of changes.

Innovation Solution

A system and method utilizing a database server and application server with a code editor interface, where users can update artifact definitions using a low-code programming language, and the application server compiles and renders these updates in real-time within the live production environment, eliminating the need for a development server and web sockets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If recompiling and redeploying the entire application is performed to update artifacts, then the updated artifact is reflected in the live production environment, but significant downtime and resource consumption occur

Engineering Contradiction:
Improveartifact update completenessVSAvoidapplication downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the application update process by isolating the artifact compilation and deployment from the rest of the application. Only the specific artifact being modified is recompiled and deployed, while the rest of the application continues to run without interruption. This is achieved through selective module replacement mechanisms that allow individual artifacts to be updated independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary compilation of the modified artifact before deploying it to the live environment. The artifact is compiled in advance using the updated definition, validated, and then swapped into the running application without requiring the entire application to be stopped. This preliminary preparation enables seamless updates.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a development server with HMR technology is used to track changes and trigger incremental builds, then code changes are reflected in the application, but substantial resources are consumed and the server must run constantly

Engineering Contradiction:
Improvechange reflection speedVSAvoiddevelopment server resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements a self-service mechanism where the client application autonomously detects artifact definition changes through local storage monitoring and automatically triggers the update process. The system uses local event listeners and storage change detection to identify modifications, eliminating the need for an external development server to monitor and notify about changes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent extracts the change detection and triggering functionality from the development server environment and relocates it to the client application. By embedding the change detection logic directly in the client, the system eliminates the need for a constantly running development server while maintaining the ability to detect and respond to artifact definition changes.

Inventive Principle:
Principle #2Taking out (Extraction)

3Speed

If web sockets are used to trigger application reloads on the client end, then changes are communicated in real-time, but system complexity increases

Engineering Contradiction:
Improvechange notification speedVSAvoidcommunication infrastructure complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent replaces the web socket communication mechanism with a simpler event-driven architecture using local storage change detection. Instead of maintaining a persistent bidirectional communication channel, the system uses client-side event listeners that automatically trigger when artifact definitions are updated and stored locally, eliminating the need for complex socket infrastructure.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Reliability

If the entire application is redeployed to update an artifact, then the updated artifact is installed, but all other users experience downtime

Engineering Contradiction:
Improveartifact update accuracyVSAvoiduser availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the deployment process to update only the specific artifact that has been modified, rather than redeploying the entire application. This selective update approach ensures that other parts of the application continue to function normally for all users, maintaining user availability while still achieving the necessary artifact updates.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a dynamic update mechanism that allows the application to adaptively replace individual artifacts at runtime without requiring a full application restart. The system dynamically loads and integrates updated artifacts into the running application, enabling continuous user access while incorporating updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS20240419436A1System and method for managing updating of artifacts associated with an application
Publication Date: 2024.12.19 SIEMENS INDUSTRY SOFTWARE INC
  • US20240419436A1 patent drawing
  • US20240419436A1 patent drawing
  • US20240419436A1 patent drawing

AI summary

A system and method for updating of artifacts in a live production environment of an application are provided. The system includes a database server, and an application server wherein the application is hosted, configured to provide a code editor interface, on a user device for enabling a user to update at least one artifact definition associated with at least one artifact associated with the application, wherein the updated artifact definition is stored on the database server. The application server retrieves the updated artifact definition from the database server upon being notified of the user updates to the artifact definition, by the user device. The application server furthers renders an updated artifact based on the updated artifact definition within the live production environment of the application in real-time, on the user device.