Directional Dependency Graph for Cloud-Native State Capture

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ensuring consistency between multiple databases used by different micro-services in cloud-native applications during state capture and recovery is challenging in conventional practices, leading to potential data inconsistencies and service disruptions.

Innovation Solution

Implementing a directional dependency graph to characterize relationships between micro-services and databases, allowing for automated state capture and operational recovery by defining directional edges based on dependencies, ensuring directional consistency between databases.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If conventional backup practices are used for cloud-native applications with multiple micro-services, then backup operations can be performed independently for each micro-service, but consistency between databases of different micro-services cannot be ensured

Engineering Contradiction:
ImproveIndependent backup operationVSAvoidDatabase consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces a dependency graph as an intermediary structure that models relationships between micro-services and their databases. This dependency graph serves as a mediator that coordinates backup operations across multiple micro-services, ensuring that databases are backed up in the correct sequence based on their interdependencies, thus maintaining consistency while allowing independent operation of each backup process

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent performs preliminary analysis to build a dependency graph that captures relationships between micro-services before executing backup operations. This preliminary action identifies the correct backup sequence, allowing the system to perform coordinated backups that maintain database consistency across micro-services while still enabling independent backup execution

Inventive Principle:
Principle #10Preliminary action

2Productivity

If databases are backed up in parallel for different micro-services, then backup speed is improved, but data inconsistencies may occur due to lack of coordination

Engineering Contradiction:
ImproveBackup speedVSAvoidState capture accuracy
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements a dynamic backup approach where the backup sequence is determined by the dependency graph rather than a fixed order. The system dynamically adjusts the backup sequence based on the specific dependencies between micro-services, allowing parallel backups for independent databases while maintaining correct sequencing for dependent databases, thus achieving both speed and accuracy

Inventive Principle:
Principle #15Dynamics

3Reliability

If a comprehensive dependency graph is created to ensure consistency, then directional consistency is achieved, but system complexity increases

Engineering Contradiction:
ImproveDirectional consistencyVSAvoidGraph management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent implements a self-service approach where the dependency graph is automatically constructed and maintained by analyzing the relationships between micro-services and their databases. The system automatically discovers dependencies, builds the graph structure, and uses it to coordinate backup operations without requiring manual configuration or complex management, thus achieving directional consistency while minimizing the operational complexity burden

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10860433B1Directional consistency in capture and recovery of cloud-native applications
Publication Date: 2020.12.08 EMC IP HLDG CO LLC
  • US10860433B1 patent drawing
  • US10860433B1 patent drawing
  • US10860433B1 patent drawing

AI summary

An apparatus in one embodiment comprises at least one processing platform including a plurality of processing devices. The processing platform is configured to execute a cloud-native application utilizing a plurality of micro-services each associated with a different set of one or more underlying databases, to capture state of the cloud-native application for a particular point in time, and to perform operational recovery of the cloud-native application for the particular point in time utilizing the captured state. Capturing state of the cloud-native application for the particular point in time comprises capturing the state in accordance with a directional dependency graph that characterizes relationships between the micro-services and the associated databases utilized in executing the cloud-native application in order to ensure directional consistency between the databases in the captured state. Performing operational recovery of the cloud-native application for the particular point in time utilizing the captured state comprises performing the operational recovery in accordance with the directional dependency graph.