Database Patching Module for Zero Downtime Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current database systems require lengthy downtime (typically 8 to 10 hours) for software updates, which disrupts business operations and revenue, as the entire system must be taken offline for patching, affecting e-commerce and productivity.

Innovation Solution

A patching module that selectively applies infrastructure and module patches to nodes in a database system, allowing other nodes to continue operations, thereby minimizing downtime by creating copies, shutting down instances, and restarting with patched versions, ensuring continuous data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire database system is taken offline for patching, then the patch can be applied to all nodes, but the downtime increases to 8-10 hours and business operations are disrupted

Engineering Contradiction:
Improvepatch application completenessVSAvoiddowntime duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The database system is segmented into multiple nodes that can operate independently. The patching process is divided into phases where only selected nodes are patched at a time while other nodes continue to serve business operations. This segmentation allows the system to maintain functionality during patching by distributing the downtime across different nodes rather than shutting down the entire system simultaneously.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patch is prepared and validated in advance before being applied to the database nodes. The patching module creates a patch plan that sequences the application of patches to specific nodes at optimal times. By preparing the patch beforehand and planning the application sequence, the system minimizes actual downtime while ensuring complete patch deployment across all nodes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the database system is taken offline for patching, then all bugs can be addressed, but revenue is lost and productivity decreases

Engineering Contradiction:
Improvebug fixationVSAvoidbusiness operations continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patching system dynamically selects which nodes to patch at any given time based on the current state of the database system and business needs. The patching module can adapt the patching sequence and timing to minimize impact on business operations. This dynamic approach allows the system to fix bugs while maintaining operational continuity by adjusting patching operations to align with business schedules and priorities.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The database system maintains continuous operational capability during the patching process by ensuring that at least some nodes remain online and functional. The patching module coordinates patch application across nodes in a way that preserves continuous data access and business processing capability. This continuity approach allows bug fixes to be implemented without completely stopping useful business actions, thereby maintaining productivity while improving reliability.

Inventive Principle:
Principle #20Continuity of useful action

3Loss of time

If selective patching is applied to individual nodes, then downtime is reduced, but the complexity of managing multiple patch states increases

Engineering Contradiction:
Improvedowntime reductionVSAvoidpatch management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patching module implements feedback mechanisms to track the patch state of each node and automatically adjust the patching sequence accordingly. The system monitors which nodes have been patched, which are pending, and which are currently operational. This feedback information is used to dynamically generate patch plans that optimize downtime while managing complexity by automating the coordination of multiple patch states across the distributed system.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10860306B2Reducing downtime when applying a patch to multiple databases
Publication Date: 2020.12.08 DELL PROD LP
  • US10860306B2 patent drawing
  • US10860306B2 patent drawing
  • US10860306B2 patent drawing

AI summary

A patching module being executed by a computing device may select a node comprising a first set of instances of a first module, a second set of instances of a second module, and infrastructure software used by the first and second set of instances. The patching module may apply an infrastructure patch to a copy of the infrastructure software to create patched infrastructure. The patching module may stop the first and second set of instances using the infrastructure software and restart the first and second set of instances to use the patched infrastructure. The patching module may determine that a module patch applies to the first module, copy the first module, and apply the module patch to the copy to create a patched module. The patching module may stop the first set of instances of the first module and start a third set of instances of the patched module.