Runtime Versioning for Zero-Downtime System Upgrades

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Information processing systems face challenges in upgrading or modifying their software configurations without taking the system offline, leading to downtime and compatibility issues with previous versions.

Innovation Solution

Implementing a runtime versioning system with a configuration manager that asynchronously updates factory-specific configuration information, allowing for dynamic modifications and extensions without restarting the system, using a registry server with transactional configuration changes and a message processing service to manage multiple configuration versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the information processing system is taken off-line for software upgrades and configuration modifications, then the system can be updated and extended, but system availability and overall performance deteriorate due to downtime

Engineering Contradiction:
Improvesystem upgradabilityVSAvoidsystem availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system dynamically switches between multiple configuration versions (v1, v2, v3) during runtime without requiring a restart. The configuration manager allows hot-swapping of configuration sets, enabling the system to transition from an static configuration model to a dynamic one where configurations can be changed while the system remains operational, thus maintaining availability during upgrades

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Multiple configuration versions are pre-loaded and validated before being activated. The system maintains a pool of pre-configured versions (v1, v2, v3) that have been prepared in advance, allowing immediate switching when needed without requiring real-time compilation or validation during the switch, thus enabling seamless transitions

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If the system maintains backwards compatibility with prior versions through successive version updates, then compatibility is preserved, but system complexity increases due to managing multiple versions

Engineering Contradiction:
Improvebackwards compatibilityVSAvoidconfiguration management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The configuration system is segmented into independent, versioned configuration sets (v1, v2, v3) that can be managed separately. Each configuration version is an isolated unit that can be loaded, validated, and switched independently, reducing the complexity of managing compatibility across versions by treating each version as a discrete, self-contained entity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A configuration manager acts as an intermediary layer between the system components and the multiple configuration versions. This mediator handles the complexity of version management, validation, and switching, shielding the core system from the complexity of maintaining multiple versions while enabling backwards compatibility through controlled access to different configuration sets

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If configuration modifications are made during runtime, then system uptime is maintained, but configuration consistency and propagation become more difficult to manage

Engineering Contradiction:
Improvesystem uptimeVSAvoidconfiguration propagation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses configuration copies (configuration snapshots) that are pre-validated and stored as complete, consistent sets (v1, v2, v3). When switching configurations at runtime, the system loads a complete pre-valid ed copy rather than applying incremental changes, ensuring configuration consistency is maintained without requiring complex propagation logic during the switch

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7899888B2Runtime versioning of information processing systems
Publication Date: 2011.03.01 ORACLE AMERICAN INC
  • US7899888B2 patent drawing
  • US7899888B2 patent drawing
  • US7899888B2 patent drawing

AI summary

An information processing system includes a runtime versioning facility which allows for managing its configuration so that modifications made during runtime are propagated and take affect without restarting the system or a portion thereof. This allows the potential for 100% uptime while upgrading such systems. This also provides a system capability to process multiple configuration versions, and to be able to process such versions even while such versions are changing during operation of the information processing systems. For example, a system such as a registry server capable of transactional configuration changes is provided which manages its configuration so that modifications made during runtime are propagated and take affect without restarting the server.