Multi-tenant Software Maintenance via Auxiliary Instance Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Multi-tenant software programs face disruptions and downtime during maintenance, which is unacceptable in high-availability environments like cloud computing, as existing methods require offline reboots and duplicate maintenance operations, leading to resource waste and misalignment risks.

Innovation Solution

A method where a target instance's maintenance is performed by redirecting tenant requests to an auxiliary instance, allowing the target instance to be maintained offline while the auxiliary instance serves the tenants, and then reverting data access after maintenance, thus minimizing downtime and resource duplication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If maintenance operations are performed on software instances, then software reliability is improved, but service availability deteriorates due to downtime

Engineering Contradiction:
Improvesoftware reliabilityVSAvoidservice availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent merges the functions of multiple software instances serving the same tenants. During maintenance of a target instance, auxiliary instances continue to serve tenants, effectively combining the service capacity of multiple instances to maintain availability while allowing maintenance on individual instances.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces auxiliary instances as intermediaries that take over service responsibilities from target instances during maintenance. These auxiliary instances act as mediators, receiving tenant requests and forwarding them or processing them while the target instance undergoes maintenance operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If backup computing machines are provided for each production machine, then service availability is maintained during maintenance, but computing resources are wasted

Engineering Contradiction:
Improveservice availabilityVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent makes auxiliary instances universal by enabling them to serve multiple target instances during different maintenance operations. A single auxiliary instance can take over for different target instances at different times, eliminating the need for dedicated backup machines for each production machine.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses existing software instances to provide backup服务能力 during maintenance, rather than requiring separate dedicated backup infrastructure. The auxiliary instances that already exist in the system are repurposed to serve as backups, making the system self-sufficient.

Inventive Principle:
Principle #25Self-service

3Reliability

If dedicated backup instances are created for each target instance, then service continuity is ensured, but device complexity increases

Engineering Contradiction:
Improveservice continuityVSAvoidinstance management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent creates auxiliary instances that are copies or clones of target instances, inheriting their configuration and capabilities. This copying approach ensures service continuity while simplifying management, as the auxiliary instances are essentially replicas that can be deployed and activated without complex customization.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9904538B2Maintenance of multi-tenant software programs
Publication Date: 2018.02.27 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9904538B2 patent drawing
  • US9904538B2 patent drawing
  • US9904538B2 patent drawing

AI summary

A multi-tenant software program is maintained in a computing environment having a plurality of compatible instances of the program, each adapted to serve a plurality of tenants, with each controlling corresponding individual data. The method includes: receiving a maintenance request for a target instance, the target instance having one or more target tenants each controlling corresponding target individual data; selecting an auxiliary instance from other instances different from the target instance; providing the target individual data of each target tenant to the auxiliary instance; redirecting each target tenant by forwarding each target tenant request to the auxiliary instance; applying a maintenance operation on the target instance according to the maintenance request; returning the target individual data of each target tenant from the auxiliary instance in response to the applying of the maintenance operation; and restoring the serving of each target tenant request by the target instance.