Zero Downtime Software Upgrade Mechanism for Distributed Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computer systems face challenges in applying software upgrades without downtime, which affects user satisfaction for mission-critical applications and can lead to issues with system functionality due to prolonged upgrade intervals.

Innovation Solution

A method involving redirecting service requests between cluster instances, saving in-progress executions in a public store, and applying software patches to application server nodes, allowing for seamless upgrades with zero downtime by synchronizing binary data and ensuring compatibility between versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software upgrades are applied to distributed computer systems, then system functionality and reliability are improved, but service downtime occurs affecting user satisfaction

Engineering Contradiction:
Improvesystem functionalityVSAvoidservice downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The distributed computer system is divided into multiple independent cluster instances that can operate autonomously. During software upgrades, the system segments functionality across instances so that upgraded and non-upgraded instances can coexist and serve different service requests, eliminating the need for complete system downtime.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by maintaining a public store that persists service request execution states before upgrades. This allows the system to save current execution states, apply software patches in advance to some instances, and then restore executions from saved states after upgrading, ensuring no service interruption.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If software upgrades are delayed to avoid downtime, then service continuity is maintained, but system functionality deteriorates due to outdated software

Engineering Contradiction:
Improveservice continuityVSAvoidsystem functionality
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system ensures continuity of useful action by redirecting service requests between cluster instances during upgrades. While some instances are being upgraded, other instances continue to handle service requests, maintaining continuous system functionality without forcing upgrade delays.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The system creates copies of execution states in the public store before upgrades. These copied states allow the system to restore and continue executions on upgraded instances, ensuring that functionality is maintained throughout the upgrade process rather than being delayed.

Inventive Principle:
Principle #26Copying

3Productivity

If multiple cluster instances are used for load distribution, then service scalability is improved, but upgrade complexity increases due to coordination requirements

Engineering Contradiction:
Improveservice scalabilityVSAvoidupgrade coordination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges the upgrade process across multiple cluster instances by applying software patches to all instances and synchronizing their execution environments. This unified approach, combined with the public store for state management, simplifies coordination compared to managing independent upgrades of each instance separately.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The public store acts as an intermediary between cluster instances during upgrades, centralizing the management of execution states. This mediator simplifies the coordination complexity by providing a single point for saving, retrieving, and synchronizing states across all instances rather than requiring direct peer-to-peer coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9229707B2Zero downtime mechanism for software upgrade of a distributed computer system
Publication Date: 2016.01.05 SAP SE
  • US9229707B2 patent drawing
  • US9229707B2 patent drawing
  • US9229707B2 patent drawing

AI summary

In a distributed computer system with cluster architecture, a number of service requests are redirected from a first instance of the cluster to a second instance of the cluster for execution. A software patch is applied to one or more software components running on an application server node of the first instance of the cluster. A number of service requests are redirected from the second instance of the cluster to the first instance of the cluster for execution. The software patch is applied on the one or more software components running on an application server node of the second instance of the cluster. A number of new service requests are directed to the upgraded second instance of the cluster for processing.