Real-Time Instance Status Updates Without Server Restart

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for updating instance configurations in computing resources, such as application servers and databases, result in significant downtime due to the need for restarting core application servers, which is time-consuming and costly for time-sensitive applications.

Innovation Solution

A system that determines the status of instances in real-time by loading server pool configurations and polling a gater service to identify whether an instance is live or virtual, allowing for real-time updates without the need for restarting core application servers, thereby eliminating rolling restarts and enabling immediate propagation of instance status to applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If core application server configuration is updated using conventional methods, then instance status is updated, but application server must be restarted causing significant downtime

Engineering Contradiction:
Improveinstance status accuracyVSAvoidapplication downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent introduces a configuration cache as an intermediary layer between the core application server and applications. The cache stores instance configuration data and allows applications to access updated configurations without requiring the core application server to restart. The cache can be updated independently through rolling updates or hot swapping, eliminating the need for application server downtime while maintaining accurate instance status information.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If core application server is restarted to update configuration, then instance status is synchronized, but deployment time increases significantly

Engineering Contradiction:
Improveconfiguration synchronizationVSAvoiddeployment speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by pre-loading instance configurations into a cache before they are needed by applications. When configuration changes occur, the cache is updated in advance through rolling updates, so that when applications need the configuration, it is already available without requiring server restarts. This preliminary caching action enables rapid deployment while maintaining configuration accuracy.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements dynamic configuration updates where the configuration cache can be modified and updated without stopping the core application server. The system transitions from a static configuration model (requiring restarts) to a dynamic model where configurations can be hot-swapped and updated in real-time, allowing continuous operation during deployment and significantly improving deployment speed.

Inventive Principle:
Principle #15Dynamics

3Reliability

If rolling restart is performed to propagate configuration, then all applications receive updates, but downtime accumulates across instances

Engineering Contradiction:
Improveconfiguration propagationVSAvoidtotal downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the configuration update process by introducing a configuration cache that can be updated independently for each application or instance. Instead of requiring coordinated rolling restarts of all applications, the cache can be updated segment by segment or simultaneously for all applications without affecting their operation. This segmentation eliminates the need for sequential restarts and accumulative downtime while ensuring all applications receive the updated configuration.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11567799B2System and method for updating applications with current instance configurations in real-time
Publication Date: 2023.01.31 SALESFORCE INC
  • US11567799B2 patent drawing
  • US11567799B2 patent drawing
  • US11567799B2 patent drawing

AI summary

Described herein is a system and method for determining the status of instances and update applications to reflect the updated statuses of instances, in real-time. In an embodiment, each instance may enable a service to determine the status of an instance. A core application server may load server pool configurations including a status of an instance. The status indicates the instance is live. Core application server may read a gate definition of the instance using the service enabled on the instance. Core application server may determine that a current status of the instance is virtual, based on the gate definition of the instance. The core application may a local cache of core application server to reflect that the current status of the instance is virtual and propagate to applications executed on other instances and core application server.