Snapshot Coordination in Distributed Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems lack an efficient method for creating snapshots of distributed databases and applications, making it difficult to revert to previous states without risking critical data corruption during testing or configuration changes.

Innovation Solution

A network environment with a storage manager coordinating snapshot creation across compute and storage nodes, involving quiesce instructions, snapshot ID management, and garbage collection to ensure data integrity and stability during snapshot operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If snapshots are created in a distributed database system, then data recovery capability is improved, but system complexity and risk of data corruption during testing increase

Engineering Contradiction:
Improvedata recovery capabilityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments the database into multiple independent containers that can be individually snapshot and restored. Each container represents a discrete unit of data that can be managed separately, reducing overall system complexity while maintaining recovery capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

An intermediary layer is introduced between the database and testing operations. This layer manages snapshot creation, storage, and restoration, isolating the core database from direct testing impacts and preventing corruption while enabling reliable recovery.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If snapshots are created for testing purposes, then testing safety is improved, but storage requirements and operational overhead increase

Engineering Contradiction:
Improvetesting safetyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of duplicating entire databases for testing, the system creates lightweight snapshot copies that capture only the necessary state information. These copies can be rapidly created and discarded, reducing storage requirements while maintaining testing safety.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The system changes the parameter of snapshot retention by implementing automatic expiration and garbage collection mechanisms. Snapshots are retained only for the necessary duration, dynamically adjusting storage requirements based on actual usage patterns while maintaining testing capabilities.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If comprehensive monitoring of container operations is implemented, then data integrity is improved, but processing overhead and system performance decrease

Engineering Contradiction:
Improvedata integrityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The monitoring system implements partial observation by focusing only on critical operations that affect data integrity. Rather than comprehensively monitoring all container operations, it selectively tracks snapshot creation, restoration, and deletion events, maintaining data integrity while minimizing performance overhead.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10642694B2Monitoring containers in a distributed computing system
Publication Date: 2020.05.05 RAKUTEN SYMPHONY INC
  • US10642694B2 patent drawing
  • US10642694B2 patent drawing
  • US10642694B2 patent drawing

AI summary

A new snapshot of a storage volume is created by instructing computing nodes to suppress write requests. Once pending write requests from the computing nodes are completed, storage nodes create a new snapshot for the storage volume by allocating a new segment to the new snapshot and finalizes and performs garbage collection with respect to segments allocated to the previous snapshot. An orchestration layer implements a multi-role application that is provisioned with virtualized storage and computation resources. A snapshot of the application may be created and used to rollback or clone the application. Containers may be loaded with data structures for encrypted and/or authenticated communication. Failed storage volumes may be detected and repaired. Repopulating repaired volumes may be managed by an application or a storage manager implementing a virtualized storage system. An autopilot invokes repair of failed containers and storage nodes in response to detected failures.