Incremental Server Update Mechanism for Enterprise Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large, mission-critical enterprise content management systems face challenges in identifying sufficient maintenance windows for system upgrades due to their critical nature and high user dependency, leading to delayed upgrades and system downtime.

Innovation Solution

Implementing incremental system updates by enabling different server instances to operate at different code revision levels, with a packaging mechanism that controls new data elements and functional behaviors to ensure compatibility and integrity across all instances, allowing for selective deployment of add-in components based on minimum required code revision levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If system upgrades are performed on mission-critical enterprise content management systems, then system functionality and code revision levels are improved, but system downtime increases and user availability decreases

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

Solution Approach 1:

The system is divided into multiple server instances that can be independently updated. Each server instance can be upgraded separately while others remain operational, allowing continuous system availability. The upgrade process segments the monolithic update into smaller, manageable portions applied to individual servers rather than requiring complete system shutdown.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically manages multiple server instances with different code revision levels simultaneously. The load balancer dynamically routes requests to appropriate server instances based on their update status, enabling flexible transition from older to newer versions without fixed downtime windows. This dynamic approach allows the system to adapt its configuration in real-time during the upgrade process.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If all server instances are updated simultaneously to ensure consistency, then system integrity is maintained, but system availability and productivity decrease

Engineering Contradiction:
Improvesystem integrityVSAvoidsystem availability
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The server fleet is segmented into multiple independent instances that can be updated in stages. Rather than treating the system as a single unit requiring simultaneous update, each server instance is independently manageable, allowing progressive migration to new code revisions while maintaining overall system integrity through coordinated management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different server instances can operate at different code revision levels simultaneously, with each instance having its own local quality state. The load balancer intelligently distributes traffic based on the specific capabilities and update status of each server instance, allowing the system to leverage both old and new features across different nodes without requiring uniformity across the entire system.

Inventive Principle:
Principle #3Local quality

3Productivity

If incremental updates are applied to individual server instances, then system availability is maintained, but complexity of managing different code revision levels increases

Engineering Contradiction:
Improvesystem availabilityVSAvoidcode revision management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

A load balancer acts as an intermediary between client requests and server instances with different code revision levels. This intermediary abstracts the complexity of managing heterogeneous server versions from the rest of the system, intelligently routing requests to appropriate servers based on their update status, capabilities, and current workload, thereby simplifying the management of code revision diversity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system manages code revision complexity by treating server instance configuration as a dynamic parameter rather than a fixed state. Each server instance can transition between different code revision parameters independently, and the load balancer adjusts its routing parameters in real-time based on the current state of server instances, allowing flexible management of version diversity without rigid constraints.

Inventive Principle:
Principle #35Parameter changes

4Reliability

If maintenance windows are scheduled for system updates, then update integrity is ensured, but user dependency and operational disruption increase

Engineering Contradiction:
Improveupdate integrityVSAvoiduser accessibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The update process is segmented into independent server instance updates rather than a monolithic maintenance window. This allows the system to apply updates continuously across different servers without requiring coordinated downtime, effectively eliminating traditional maintenance windows while maintaining update integrity through controlled, incremental deployment to individual instances.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system maintains continuous operational availability during the update process by ensuring that at least one server instance remains operational at all times. The update process is designed to preserve useful action continuity by transitioning between server instances seamlessly, preventing any interruption in service while still applying necessary updates to maintain system integrity and security.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10564953B2Managing incrementally applied system updates
Publication Date: 2020.02.18 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10564953B2 patent drawing
  • US10564953B2 patent drawing
  • US10564953B2 patent drawing

AI summary

According to one embodiment of the present invention, a computer system updates a system including a plurality of sever instances, and includes at least one processor. The computer system determines a level of configuration for each operating server instance. One or more sets of operational features are added to the system based on a comparison between the determined levels of configuration of the operating server instances and minimum levels of configuration associated with the one or more sets of operational features. Server operations are performed and one or more corresponding sets of operational features are applied to the server operations in response to the addition of those corresponding sets of operational features to the system. Embodiments of the present invention further include a method and computer program product for updating a system including a plurality of server instances in substantially the same manner described above.