Fenced Clone Application Snapshots for Distributed Storage Rollback

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current distributed storage and computation systems lack an efficient method for creating and managing snapshots of databases, which hinders the ability to revert to previous states without corrupting critical data during testing or configuration changes.

Innovation Solution

A method is introduced that involves a storage manager coordinating the creation of snapshots by quiescing compute nodes, finalizing storage node segments, and maintaining snapshot hierarchies, allowing for the efficient creation, cloning, and rollback of storage volumes across multiple storage nodes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snapshots are created to enable system rollback, then data integrity is improved, but system complexity increases due to coordination requirements across compute and storage nodes

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the snapshot creation process into distinct phases: compute node quiescing, storage node segment finalization, and snapshot hierarchy maintenance. This segmentation allows each component to perform its function independently, reducing coordination complexity while ensuring data integrity through structured phase transitions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary quiescing of compute nodes before creating storage snapshots. This preliminary action ensures that no write operations are in-flight when the snapshot is taken, guaranteeing data consistency without requiring complex locking mechanisms during the actual snapshot creation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple snapshots are maintained for testing and rollback, then operational reliability is improved, but storage space consumption increases

Engineering Contradiction:
Improveoperational reliabilityVSAvoidstorage space
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system implements a nested snapshot hierarchy where clone snapshots are nested within parent snapshots. This nested structure allows the system to maintain multiple snapshot versions while efficiently sharing common data blocks between parent and child snapshots, significantly reducing total storage space requirements compared to maintaining independent copies of each snapshot.

Inventive Principle:
Principle #7Nested doll (Nesting)

3Adaptability or versatility

If clone snapshots are created for testing, then adaptability is improved, but data corruption risk increases if not properly isolated

Engineering Contradiction:
Improvetesting flexibilityVSAvoiddata corruption risk
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system introduces an intermediary snapshot hierarchy structure that sits between the original data and clone snapshots. This intermediary layer provides controlled isolation, allowing testing operations on clones without direct access to parent snapshot data, thereby preventing data corruption while maintaining testing flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system creates clone snapshots as copies of parent snapshots, establishing a clear replication relationship. This copying mechanism ensures that clones are initially identical to parents but can be modified independently, providing testing adaptability while the copy relationship itself serves as a protective barrier against corruption of original data.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11582168B2Fenced clone applications
Publication Date: 2023.02.14 RAKUTEN SYMPHONY INC
  • US11582168B2 patent drawing
  • US11582168B2 patent drawing
  • US11582168B2 patent drawing

AI summary

Snapshots of storage volumes and containers of a bundled application may be created and used to rollback or clone the bundled application. Clone snapshots of storage volumes may be gradually populated with data from prior snapshots to reduce loading on a primary snapshot. Components of cloned applications may communicate with one another using addresses of these components in the parent application. Containers of the bundled application may communicate with an open virtual switch (OVS) that implements flows to implement translation between clone and parent addresses. Containers may be modified to execute operation-specific entrypoint functions prior to invoking an entrypoint of an application instance loaded in the containers.