Protected Entity Graph for Application State Backup

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems are inadequate for effectively protecting and replicating the state of complex applications in virtualized environments, particularly in distributed systems like Kubernetes, as they struggle to track relationships and dependencies between virtual machines, containers, and other components, making rollback and testing impractical.

Innovation Solution

The introduction of a 'protected entity' (PE) data structure that represents applications as a graph, allowing for snapshotting, serialization, and deserialization, enabling sophisticated data protection orchestrators to backup and restore applications in parallel using custom protocols and mechanisms, and supporting new data types and storage services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If existing systems are used to protect virtual machines, then VM-level data protection is achieved, but application-level protection and replication are inadequate

Engineering Contradiction:
Improvedata protectionVSAvoidapplication protection capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system segments the application protection problem into multiple components: identifying individual application components, tracking their dependencies, and managing their state separately. This allows granular control over application-level data protection while maintaining VM-level protection as a foundation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary layer between the VM and application layers that captures application state and dependencies. This intermediary mechanism enables application-specific protection without requiring changes to the underlying VM protection infrastructure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If distributed applications with multiple microservices are protected, then application-level protection is improved, but tracking relationships and dependencies becomes complex

Engineering Contradiction:
Improveapplication protection capabilityVSAvoiddependency tracking complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a universal data structure that can represent any application component and its dependencies in a standardized format. This multi-functional structure handles various component types (containers, microservices, databases) uniformly, simplifying the tracking of relationships across distributed systems.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system changes the representation parameters of application state from individual component views to a graph-based dependency view. This parameter transformation allows complex relationships to be expressed through standardized graph edges and nodes, reducing the complexity of tracking dependencies.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If cloud scale applications are rolled back, then data recovery is achieved, but replication for testing becomes impractical

Engineering Contradiction:
Improvedata recoveryVSAvoidreplication for testing
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent enables efficient copying of application state by capturing it as a serialized graph structure. This copy can be replicated to different environments (including test environments) without requiring full application replication, making testing and rollback operations practical.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system extracts application state and dependencies as a separate, portable representation that can be independently managed. This extracted state can be copied for testing purposes without affecting the running application, enabling practical replication scenarios.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If parallel backup and restore operations are implemented, then performance is improved, but coordination of multiple components becomes difficult

Engineering Contradiction:
Improvebackup performanceVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the backup and restore operations into independent tasks that can execute in parallel, each handling specific components or subgraphs of the application dependency graph. This segmentation enables performance improvement while maintaining manageable coordination through the graph structure.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11341000B2Capturing and restoring persistent state of complex applications
Publication Date: 2022.05.24 VMWARE INC
  • US11341000B2 patent drawing
  • US11341000B2 patent drawing
  • US11341000B2 patent drawing

AI summary

The disclosure herein describes generating a protected entity of a VCI. A state document is generated based on the metadata state of the VCI and an entity data stream is set to a URI associated with the data of the VCI. Components and associated URIs of the VCI are identified. A combined data stream is set to a URI configured to provide access to the state document, the entity data stream, and the URIs of the components of the VCI. A snapshot API for providing a snapshot of the state of the protected entity, a serialization API for providing a serialized version of the protected entity, and a de-serialization API for converting a serialized version of the protected entity into a de-serialized version of the protected entity are defined. The protected entity is configured to enable the data and metadata of the VCI to be efficiently backed up.