Operating System Updates with Virtual Disk Snapshot Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for updating operating systems face challenges in achieving a clean separation between previous and new versions while minimizing storage space and ensuring efficient recovery from failed updates or power loss during booting.

Innovation Solution

The method involves taking snapshots of operating system sets and tracking changes using virtual disks, allowing for efficient storage and recovery by maintaining only differences between versions, thus reducing storage requirements and enabling seamless rollbacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If full copies of previous operating system versions are retained for recovery purposes, then reliability of recovery is improved, but storage space consumption increases

Engineering Contradiction:
Improverecovery reliabilityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The operating system is divided into multiple sets (first set, second set, third set, etc.), where each set represents a modular component. This segmentation allows selective retention and recovery of specific OS components rather than requiring full version copies, reducing storage requirements while maintaining recovery capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of storing full copies of previous OS versions, the patent creates snapshots (virtual disk copies) of specific OS sets at different points in time. These snapshots capture the state of read-only sets, allowing recovery to known good states without duplicating entire operating system versions.

Inventive Principle:
Principle #26Copying

2Volume of stationary object

If snapshots and virtual disks are used to track changes between OS versions, then storage efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Volume of stationary objectVSDevice complexity

Solution Approach 1:

Virtual disks are introduced as intermediary components that sit between the physical storage and the operating system sets. These virtual disks abstract the complexity of change tracking by providing a standardized interface for capturing and managing snapshots, thereby reducing the apparent complexity of the overall system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Snapshots of read-only OS sets are created in advance before updates are applied. This preliminary action establishes a known good state that can be quickly restored if needed, eliminating the need for complex post-update recovery procedures and simplifying the overall update management process.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If read-only sets are snapshotted and modifiable sets are updated in place, then update efficiency is improved, but risk of corruption during updates increases

Engineering Contradiction:
Improveupdate efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The operating system is segmented into read-only sets and modifiable sets, allowing different update strategies for each. Read-only sets are snapshotted to preserve their state, while modifiable sets can be updated in place. This segmentation enables efficient updates while maintaining data integrity through selective snapshotting.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Snapshots of read-only sets are created beforehand as a protective measure against potential corruption during updates. These snapshots serve as a safety cushion, allowing the system to recover to a known good state if corruption occurs during the update of modifiable sets, thus protecting data integrity.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Reliability

If multiple full versions of operating system are retained for clean recovery, then reliability of clean state recovery is improved, but storage space and update overhead increase

Engineering Contradiction:
Improveclean state recoveryVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

Multiple snapshots of different OS sets are merged to reconstruct clean state versions. Instead of storing separate full copies of each OS version, the system combines relevant snapshots from different time points to create a clean recovery state, significantly reducing storage requirements while maintaining the ability to recover to clean states.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent transitions from storing OS versions in a single temporal dimension (sequential versions) to a multi-dimensional snapshot space where different sets can be snapshotted independently at different times. This allows flexible reconstruction of clean states by selecting appropriate snapshots from different dimensions, reducing the need to retain all intermediate versions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentEP3970019B1Method for updating an operating system of a computing device
Publication Date: 2025.09.10 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3970019B1 patent drawingFigure 1
  • EP3970019B1 patent drawingFigure 2
  • EP3970019B1 patent drawingFigure 3

AI summary

Data is identified that defines a known good state for a current operating system. The identified data includes read-only sets that are not updated during operation of the computing device, and modifiable sets that can be updated during operation of the computing device. The read-only sets are captured on an opportunistic basis and the modifiable sets are captured when the computing device is to be rebooted. A first and second virtual disk are allocated as snapshots of the identified data. The first virtual disk is updated to generate an updated state. The updates to the first virtual disk are isolated from the second virtual disk. The second virtual disk is maintained as an immutable snapshot of the identified data. In response to a failed reboot with the updated state, the computing device reverts to the known good state using the snapshot of the identified data.