Runtime Handover for Client Software Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software update methodologies often disrupt user experience and require system downtime, as they lack seamless transition mechanisms from predecessor to successor versions of client software applications.

Innovation Solution

A method for client-side devices to execute a runtime handover from a predecessor to a successor version of a client software application, involving an update handshake and runtime validation, allowing transparent installation and validation without rebooting, ensuring smooth transition and data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional software update methodologies are used, then software can be updated to newer versions, but system downtime and user interruption occur

Engineering Contradiction:
Improvesystem uptimeVSAvoidupdate installation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The successor version of the client software application is installed and prepared in advance while the predecessor version remains active and handles user requests. This preliminary installation allows the update to be ready before any switch occurs, eliminating downtime during the transition.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The software update process is segmented into distinct phases: installation of successor version, validation phase, and switching phase. During installation, the predecessor version continues to operate independently. Only after successful validation does the system switch to the successor version, ensuring no interruption in service.

Inventive Principle:
Principle #1Segmentation

2Reliability

If traditional software update methodologies are used, then software can be updated, but user experience is disrupted

Engineering Contradiction:
Improvesoftware update successVSAvoiduser experience continuity
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

A validation mechanism acts as an intermediary between the predecessor and successor versions. The validation phase verifies that the successor version is properly installed and functional before allowing users to switch. This intermediary step ensures update success while maintaining seamless user experience, as users never encounter a non-functional state.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically switches between predecessor and successor versions based on validation results. While the predecessor version handles user requests during installation, the system can transition to the successor version once validated. This dynamic behavior ensures continuous operation and uninterrupted user experience.

Inventive Principle:
Principle #15Dynamics

3Reliability

If runtime validation is implemented, then successful operation of successor version is ensured, but update process complexity increases

Engineering Contradiction:
Improvesuccessor version functionalityVSAvoidupdate process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Validation of the successor version is performed in advance during the validation phase, before any user-facing switch occurs. This preliminary validation ensures the successor version is fully functional and ready, reducing the need for complex post-switch validation and simplifying the overall update process.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If seamless transition mechanism is implemented, then system downtime is eliminated, but data transfer and validation requirements increase

Engineering Contradiction:
Improvedowntime during updateVSAvoiddata transfer volume
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The data transfer process is segmented into phases: data is transferred and prepared during the installation and validation phases while the predecessor version remains active. This segmentation allows comprehensive data migration without interrupting user operations, eliminating downtime while managing data transfer requirements systematically.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP2864873B1Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version
Publication Date: 2020.08.26 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2864873B1 patent drawingFigure 1
  • EP2864873B1 patent drawingFigure 2
  • EP2864873B1 patent drawingFigure 3

AI summary

In one embodiment, a predecessor version of a client software application may execute a runtime handover to a successor version of the client software application. A client side device may execute a predecessor version of a client software application while installing a successor version of the client software application. The client side device may execute an update handshake between the successor version and the predecessor version. The client side device may execute a runtime validation of the successor version.