Rolling Software Upgrades in Disaggregated Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud computing systems face inflexibility and downtime issues during software upgrades, as they require shutting down servers or interrupting operations to install updates, which is not suitable for real-time demands and on-demand scalability.

Innovation Solution

Implementing a rolling software upgrade manager in a disaggregated computing environment that switches updated software components to a designated memory area without interrupting operations, utilizing point-to-point circuit wire level switching and hardware pooling to maintain continuous execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional server shutdown method is used for software upgrades, then software component updates can be installed, but system downtime and operational interruption occur

Engineering Contradiction:
Improvesoftware upgrade capabilityVSAvoidsystem downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system divides memory into separate segments: a first memory area for running processes and a second memory area for updated software components. This segmentation allows independent management of old and new software, enabling updates without shutting down the server.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The updated software component is downloaded and stored in the second memory area before the actual upgrade is needed. This preliminary action prepares the update in advance, so when the upgrade is triggered, the switch can occur instantly without downtime.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If server operations are interrupted for software updates, then software can be upgraded, but real-time processing capability is lost

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidreal-time processing
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system maintains continuous operation by keeping processes running in the first memory area while simultaneously loading updated software into the second memory area. The switch between memory areas is seamless, ensuring uninterrupted real-time processing capability throughout the upgrade process.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If traditional upgrade methods are used, then software can be updated, but system complexity increases due to shutdown and restart procedures

Engineering Contradiction:
Improvesoftware upgrade capabilityVSAvoidupgrade procedure complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The second memory area acts as an intermediary storage space that receives and holds updated software components. This intermediary structure simplifies the upgrade process by providing a dedicated buffer zone, eliminating the need for complex shutdown and restart procedures.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If servers are shut down for upgrades, then software updates can be applied, but scalability and responsiveness to dynamic workloads are reduced

Engineering Contradiction:
Improvesoftware update capabilityVSAvoidworkload responsiveness
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements dynamic memory area switching where the first and second memory areas can be flexibly allocated and switched based on operational needs. This dynamic structure allows the server to maintain high adaptability and responsiveness to workload changes while enabling seamless software updates.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10970061B2Rolling upgrades in disaggregated systems
Publication Date: 2021.04.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10970061B2 patent drawing
  • US10970061B2 patent drawing
  • US10970061B2 patent drawing

AI summary

Embodiments for performing rolling software upgrades in a disaggregated computing environment. A rolling upgrade manager is provided for upgrading one or more disaggregated servers. A designated memory area is used for storing an updated software component, and a disaggregated server is switched to the designated memory area from a currently assigned memory area when performing the software upgrade. A process state and program data is maintained in the currently assigned memory area while maintaining the updated software component in the designated memory area such that the process state and program data are read from the currently assigned memory area and the updated software component is read from the designated memory area during currently executing operations of the disaggregated server.