Recreating Computing Environments via Tagged Snapshots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Recreating a production computing environment for testing, deployment, and maintenance is labor-intensive and challenging due to issues like data access restrictions, stability concerns, and security risks, leading to outdated data in staging environments that hinder bug rollback and just-in-time fixes.

Innovation Solution

A service that captures and organizes incremental changes in a production environment using tags and snapshots, allowing for the recreation of a computing environment without interrupting the original, enabling quick retrieval and recreation of application environments through a replication engine that links tags to snapshots and modifies them in a destination environment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional staging environments are used to distribute changes from production, then security and data protection are improved, but data becomes stale and developers lose the ability to rollback changes and recreate bugs

Engineering Contradiction:
Improvedata accuracyVSAvoidtime to recreate environment
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates a copy of the production environment including its data, using virtualization technology to instantiate a virtual machine that mirrors the production system. This copy can be used for testing and development without affecting the production environment, while maintaining data accuracy and enabling quick rollback to previous states through snapshot management.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent takes preliminary actions by creating snapshots of the production environment before making changes. These snapshots capture the state of the system at specific points in time, allowing developers to rollback to previous working states if needed, thus preventing data loss and enabling efficient iteration.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If production data is accessed directly by development environments, then data accuracy is improved, but security risks and stability concerns increase

Engineering Contradiction:
Improvedata accuracyVSAvoidsecurity risks
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a virtual machine as an intermediary between the production environment and development workflows. This virtual machine can access production data through controlled interfaces while isolating the development processes from direct access to production systems, thus maintaining data accuracy while mitigating security risks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the production environment into isolated virtual machines, each with controlled access to production data. This segmentation allows different development teams to work with copies of production data in isolated environments, maintaining data accuracy while preventing security breaches through network isolation and access controls.

Inventive Principle:
Principle #1Segmentation

3Reliability

If manual recreation of production environments is performed, then environment accuracy is improved, but labor intensity and maintenance difficulty increase

Engineering Contradiction:
Improveenvironment accuracyVSAvoidmaintenance ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent implements self-service capabilities through automated snapshot management and environment recreation. The system can automatically capture snapshots of the production environment, store them in a repository, and recreate environments on-demand without manual intervention, thus maintaining high accuracy while reducing maintenance effort.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces manual mechanical processes of environment recreation with automated software-based snapshot management. Instead of manually configuring and setting up production environments, the system uses virtualization and snapshot technology to automatically recreate environments, significantly reducing labor intensity while maintaining accuracy.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

4Productivity

If application downtime is avoided during environment recreation, then productivity is improved, but complexity of managing application state increases

Engineering Contradiction:
Improveapplication availabilityVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary actions by capturing snapshots of the application state before recreation. These snapshots preserve the exact state of the application, database, and configuration at specific points in time, allowing environments to be recreated without application downtime while maintaining state consistency through pre-captured data.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates complete copies of the application state including memory dumps, database states, and configuration files. These copies enable the recreation of production environments without interrupting the running application, as the copies can be instantiated independently while the original application continues to operate.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11422902B2Recreating a computing environment using tags and snapshots
Publication Date: 2022.08.23 RED HAT INC
  • US11422902B2 patent drawing
  • US11422902B2 patent drawing
  • US11422902B2 patent drawing

AI summary

A processing device determines a change to one or more parameters at a particular point in time. The one or more parameters describe a computing environment hosting an application. The processing device stores the changed one or more parameters as one or more tags in a set of hierarchical tags. The processing device creates a snapshot of data associated with the computing environment at the particular point in time. The processing device links a data source tag of the snapshot with the one or more tags in the set of hierarchical tags. In response to receiving a request to recreate the application from the particular point in time, the processing device recreates the application from the particular point in time using the one or more tags in the set of hierarchical tags and the snapshot.