Server Compatibility Checking for Rolling Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for updating software in collaborating servers are often manual and do not effectively handle compatibility issues, leading to potential extended downtime when updated software is not backward compatible, as system administrators must manually determine compatibility and there is no automated facility for addressing incompatibilities discovered after software release.

Innovation Solution

A system that automatically checks compatibility by storing a statement of compatibility in a shared storage area accessible to all servers, which is updated if issues arise, and aborts or schedules updates based on compatibility checks during initialization or periodically, ensuring seamless rolling updates or parallel updates as necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual compatibility determination is used, then system administrators can control update timing, but downtime increases and update efficiency decreases

Engineering Contradiction:
Improveservice continuityVSAvoidupdate downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs compatibility checks in advance before executing updates. The compatibility determination module evaluates whether the new software version is compatible with the current system configuration before the update is applied, preventing incompatible updates from causing service interruptions and eliminating the need for manual compatibility verification during update execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements automated feedback loops where compatibility check results directly influence update execution decisions. When compatibility is confirmed, updates proceed automatically; when incompatibility is detected, the system provides feedback to abort or reschedule the update, eliminating manual intervention and reducing downtime while maintaining service continuity.

Inventive Principle:
Principle #23Feedback

2Productivity

If automated compatibility checking is implemented, then update efficiency increases and downtime decreases, but system complexity increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs self-verification of compatibility through automated checking mechanisms. The compatibility determination module autonomously evaluates software version compatibility without requiring external manual assessment, and the system automatically adjusts update schedules based on compatibility results, reducing the need for complex manual coordination while improving update efficiency.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The update management system is divided into distinct functional modules: compatibility checking module, update scheduling module, and update execution module. This segmentation allows each module to perform its specific function independently, simplifying the overall system architecture while enabling automated compatibility verification and efficient update management.

Inventive Principle:
Principle #1Segmentation

3Duration of action of moving object

If rolling updates are performed without compatibility verification, then service continuity is maintained, but data loss or corruption may occur

Engineering Contradiction:
Improveservice continuityVSAvoiddata integrity
Core Design Contradiction:
Duration of action of moving objectVSReliability

Solution Approach 1:

The system applies preliminary anti-action by performing compatibility verification before allowing rolling updates to proceed. The compatibility determination module checks whether the new software version is compatible with the current system state before the update is applied to any server node, preventing incompatible updates that could cause data loss or corruption while maintaining the ability to perform rolling updates for service continuity.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS8151257B2Managing different versions of server components regarding compatibility with collaborating servers
Publication Date: 2012.04.03 SAP SE
  • US8151257B2 patent drawing
  • US8151257B2 patent drawing
  • US8151257B2 patent drawing

AI summary

A system and method for determining whether a rolling update may be performed. The system receives a statement of compatibility for software running on collaborating servers. The statement of compatibility indicates which software versions are compatible with one another. The statement may be stored in a shared storage area that is accessible to each of the servers in the group. The statement may be updated at any time if compatibility issues are determined after release of a software version. The system and method check the statement of compatibility automatically upon the start of an update process for a server. If the statement of incompatibility indicates that the server starting up is incompatible with an operating server, the start up process is aborted.