Application Runtime State Capture for Maintenance Without Data Loss

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Maintenance operations on server computers often result in data loss due to the need to shut down user sessions abruptly, leading to frustration for both users and IT administrators, as existing methods do not effectively capture and restore the application's runtime state independently of the operating system.

Innovation Solution

A method to capture and save the runtime state of an application, including its memory, CPU registers, system resources, and network connections, allowing for suspension and later restoration, enabling maintenance without data loss and potentially redistributing the load across computers for balancing processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of repair

If maintenance operations are performed on server computers by shutting down the operating system, then maintenance can be completed, but user application data is lost and sessions must be closed

Engineering Contradiction:
Improvemaintenance operationVSAvoidapplication data
Core Design Contradiction:
Ease of repairVSLoss of information

Solution Approach 1:

The patent extracts the application runtime state from the operating system by capturing it independently. The runtime state capture module collects application state information (memory contents, register values, instruction pointers) separately from the OS, allowing the OS to be shut down for maintenance while preserving application data in a separate storage location.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent performs preliminary action by capturing and storing the application runtime state before the maintenance operation begins. The system proactively saves the application state to persistent storage prior to OS shutdown, ensuring data is preserved before any potential loss could occur during maintenance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If application runtime state is captured independently of the operating system, then data can be preserved during maintenance, but system complexity increases

Engineering Contradiction:
Improvedata preservationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the state capture functionality into distinct modules: a runtime state capture module that collects application state, a persistent storage module that saves it, and a restoration module that retrieves it. This modular segmentation manages complexity by organizing the independent capture process into manageable, separate components rather than a monolithic system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary persistent storage component that mediates between the application runtime state and the operating system. This storage layer acts as a buffer, allowing the OS to operate independently while application state is preserved separately, simplifying the interaction between components.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of repair

If user sessions are closed to perform maintenance, then system maintenance can be executed, but user productivity is interrupted

Engineering Contradiction:
Improvemaintenance operationVSAvoiduser task continuity
Core Design Contradiction:
Ease of repairVSProductivity

Solution Approach 1:

The patent enables continuity of useful action by preserving the application runtime state and allowing users to resume their work after maintenance. The restoration module reconstructs the application state post-maintenance, enabling users to continue their tasks without losing progress or needing to restart work from scratch.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2659354B1Storing and resuming application runtime state
Publication Date: 2019.06.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2659354B1 patent drawingFigure 1
  • EP2659354B1 patent drawingFigure 2
  • EP2659354B1 patent drawingFigure 3

AI summary

Execution of an application is suspended and the runtime state of the application is collected and persisted. Maintenance operations may then be performed on the computer that the application was executing upon. The runtime state might also be moved to another computer. In order to resume execution of the application, the runtime state of the application is restored. Once the runtime state of the application has been restored, execution of the application may be restarted from the point at which execution was suspended. A proxy layer might also be utilized to translate requests received from the application for resources that are modified after the runtime state of the application is persisted.