Multi-tenant Application Server Partitioning for Zero-Downtime Patching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant application server environments, patching processes often result in system downtime and are complex, as administrators must manually apply patches to each node, shutting down servers, and verifying their functionality, which can be time-consuming and risky for system availability.

Innovation Solution

A system and method that associates partitions with tenants, utilizing high-availability features for a controlled, rolling restart of patches, allowing for automated complex tasks and preserving previous software versions for rollback, ensuring zero downtime and automatic reversion in case of errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual patching is performed on each node, then patching can be applied to fix problems or update versions, but system downtime increases and complexity increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidpatching time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the application server domain into multiple partitions, each of which can be independently patched. This allows selective patching of specific partitions while keeping others operational, thereby reducing overall system downtime and enabling parallel patching operations across different nodes without affecting the entire system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a staging area where patches are prepared and validated before being applied to production partitions. This preliminary action allows administrators to test patch compatibility and readiness in advance, ensuring that when patches are deployed, they can be applied more quickly and with fewer interruptions to actual service operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of manufacture

If servers are shut down for patching, then patches can be applied, but system availability decreases

Engineering Contradiction:
Improvepatching processVSAvoidsystem availability
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

By dividing the server domain into independent partitions, the system can shut down only the specific partition being patched while keeping other partitions operational. This segmented approach maintains system availability during patching operations, as users continue to access services from unpatched or already-patched partitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a partition manager as an intermediary component that coordinates patching operations across partitions. The partition manager handles the complexity of patch application, monitoring, and rollback procedures, allowing administrators to apply patches without directly managing server shutdowns and restarts, thereby maintaining system availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If rolling restart is used, then zero downtime is achieved, but complexity increases

Engineering Contradiction:
Improvezero downtimeVSAvoidpatching process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements automated patching procedures where the system performs self-service operations including automatic patch application, validation, and rollback. The partition manager and staging area work together to automatically coordinate rolling restarts across partitions, eliminating the need for manual intervention in complex coordination tasks and reducing overall process complexity despite achieving zero downtime.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent incorporates feedback mechanisms that continuously monitor patch application status, system health, and partition performance during rolling restarts. This feedback allows the system to automatically adjust patching operations, pause or resume restarts based on real-time conditions, and trigger rollbacks if issues are detected, thereby managing complexity through automated response to system state changes.

Inventive Principle:
Principle #23Feedback

4Productivity

If automated patching is implemented, then patching speed increases, but risk of errors increases

Engineering Contradiction:
Improvepatching speedVSAvoidpatching accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a staging area where patches are automatically validated and tested before being deployed to production partitions. This preliminary action includes compatibility checking, dependency verification, and simulation of patch effects, which prevents erroneous patches from reaching production systems and maintains accuracy despite automated deployment processes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent establishes a rollback mechanism as a safety cushion that can automatically revert partitions to their previous state if patch application fails or causes issues. This beforehand cushioning protects against automated patching errors, allowing the system to quickly recover from mistakes without impacting overall patching speed or reliability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11880679B2System and method for supporting patching in a multitenant application server environment
Publication Date: 2024.01.23 ORACLE INT CORP
  • US11880679B2 patent drawing
  • US11880679B2 patent drawing
  • US11880679B2 patent drawing

AI summary

In accordance with an embodiment, described herein is a system and method for supporting patching in a multi-tenant application server environment. The system can associate one or more partitions with a tenant, for use by that tenant, wherein a partition is a runtime and administrative subdivision or slice of a domain. A patching process can take advantage of high-availability features provided by an application server clustering environment, to apply patches in a controlled, rolling restart, which maintains a domain's ability to operate without interruption, or with zero downtime. The process can be used to automate complex or long running tasks, including preserving an unpatched or prior version of an application server, application, or other software component for possible rollback, or providing automatic reversion in the event of an unrecoverable error.