Zero Downtime Software Upgrade via Table Cloning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software system upgrades often require downtime, which can be lengthy and disruptive, especially as backups are created for fallback purposes and upgrades run in parallel with production systems, making it difficult to revert changes.

Innovation Solution

A zero-downtime upgrade procedure is implemented, where the source system operates in read-write mode, transitions to read-only mode, and then the target system takes over in read-write mode, allowing for concurrent operation and eventual switchover without user interruption, by creating clones of tables, replicating data, and managing database triggers to ensure seamless transition.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a backup is created and upgrade runs in parallel with production system, then reliability is improved (fallback option available), but downtime increases and complexity increases

Engineering Contradiction:
Improvefallback optionVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The target system is prepared in advance by creating table clones and setting up database triggers before the switchover. This preliminary preparation allows the upgrade to be staged and tested without affecting production, enabling a smooth transition with minimal downtime while maintaining reliability through the backup fallback option.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Table clones serve as an intermediary between the production system and the upgraded target system. The clones are created in the same database and use database triggers to replicate data from production. This intermediary structure allows the upgrade to run in parallel without requiring traditional backups, eliminating downtime while preserving the ability to revert by dropping the clones if needed.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If upgrade runs in parallel with production system in the same database, then downtime is reduced, but complexity increases and ability to revoke changes is lost

Engineering Contradiction:
ImprovedowntimeVSAvoidupgrade procedure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Instead of creating physical copies of the entire database, the invention creates clones of specific tables within the same database. This copying approach reduces complexity by focusing only on the necessary tables rather than duplicating the entire database structure, while still enabling parallel operation and minimal downtime.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The invention replaces the mechanical approach of creating full database backups and restores with a more elegant database trigger-based replication system. Database triggers automatically replicate data from production tables to clone tables, eliminating the need for manual backup and restore operations, reducing complexity, and enabling continuous operation during upgrades.

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

3Loss of time

If table clones are created and database triggers are used for replication, then downtime is minimized, but system complexity increases

Engineering Contradiction:
ImprovedowntimeVSAvoiddatabase configuration
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

Database triggers are configured to automatically replicate data from production tables to clone tables without manual intervention. This self-service mechanism continuously synchronizes the clones with production data, minimizing downtime during upgrades while managing complexity through automation rather than manual processes. The triggers self-manage the replication task that would otherwise require complex orchestration.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10296324B2Zero downtime software system upgrade
Publication Date: 2019.05.21 SAP SE
  • US10296324B2 patent drawing
  • US10296324B2 patent drawing
  • US10296324B2 patent drawing

AI summary

A zero downtime upgrade procedure is initiated that upgrades a first version of software executing on a source system comprising at least one source server to a second version of software executing on a target system comprising at least one target server. The source system initially starts operating in a read-write mode. Thereafter, concurrent with the operation of the source system, operation of the target system is initiated in a read-only mode. Operations of the source system are then ceased by ramping down activities of the source system. Upon cessation of operation of the source system, operation of the target system is initiated in a read-write mode.