Distributed Snapshot Instantiation via Directed Acyclic Graph

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and restoring distributed computer systems is complex, particularly due to synchronization issues between services and data, leading to potential errors when restoring from backups with timing differences, which can result in mismatches and failed user information retrieval.

Innovation Solution

The system employs a method to create and instantiate snapshots of distributed computing systems by representing computing resources as a set of linked nodes, using a directed acyclic graph (DAG) to store and restore dependencies, allowing for consistent snapshots and quick recovery by traversing nodes in a hierarchical manner, and providing options for selective data inclusion such as template, production, and configuration information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Duration of action of stationary object

If services and data are individually backed up from within the distributed computer system to minimize system downtime, then system availability is improved, but data consistency deteriorates due to timing differences between backups

Engineering Contradiction:
Improvesystem downtimeVSAvoiddata consistency
Core Design Contradiction:
Duration of action of stationary objectVSReliability

Solution Approach 1:

The system performs preliminary actions by capturing a consistent snapshot of the distributed computer system state before individual service backups. This snapshot serves as a baseline that ensures data consistency across all services, allowing individual services to be backed up without compromising overall system reliability. The snapshot captures the state of all services and data at a specific point in time, preventing timing difference issues.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary snapshot mechanism that mediates between individual service backups. This snapshot acts as a reference point that all services can refer to, ensuring that even though services are backed up at different times, they all reference the same baseline state. This intermediary structure resolves the contradiction by maintaining data consistency while allowing continuous service availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a full snapshot of the entire distributed computer system is captured, then data consistency is improved, but storage requirements and processing time worsen

Engineering Contradiction:
Improvedata consistencyVSAvoidstorage requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system segments the snapshot into hierarchical levels, capturing only the necessary portions of the distributed computer system. Instead of snapshotting every service and data element in full detail, the system divides the snapshot into parent-child relationships where parent snapshots contain high-level structural information and child snapshots contain detailed service-specific data. This segmentation reduces overall storage requirements while maintaining data consistency through the hierarchical structure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by allowing different parts of the snapshot to have different levels of detail and storage allocation. Critical services and data elements that require high consistency are captured in full detail, while less critical elements use compressed or differential storage. This approach optimizes storage usage by allocating resources based on the specific quality requirements of different system components.

Inventive Principle:
Principle #3Local quality

3Reliability

If the entire distributed computer system is restored from a snapshot, then system reliability is improved, but restoration time and complexity worsen

Engineering Contradiction:
Improvesystem reliabilityVSAvoidrestoration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system implements dynamic restoration by allowing selective instantiation of services and data elements from the snapshot based on current needs. Instead of restoring the entire snapshot uniformly, the system can dynamically choose to restore only critical services first, or restore services in parallel where dependencies allow. This dynamic approach significantly reduces restoration time while maintaining system reliability by ensuring that essential services are restored promptly.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The hierarchical snapshot structure enables segmented restoration where services can be restored in manageable units rather than as a monolithic block. The parent-child relationship in the snapshot allows restoration to proceed from parent services to child services in a structured manner, or selectively restore only the necessary portions. This segmentation reduces restoration complexity and time while maintaining overall system reliability.

Inventive Principle:
Principle #1Segmentation

4Adaptability or versatility

If individual services are backed up separately to allow selective restoration, then restoration flexibility is improved, but backup complexity and potential for inconsistency worsen

Engineering Contradiction:
Improverestoration flexibilityVSAvoidbackup complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments the backup process into hierarchical units that can be independently managed and restored. Each service backup is associated with its parent service and child services, creating a structured segmentation that maintains relationships while allowing selective restoration. This segmentation provides restoration flexibility by enabling users to restore individual services or groups of services while the hierarchical structure manages the complexity through automated dependency tracking.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements feedback mechanisms that track the backup status and consistency of individual services against the overall snapshot. This feedback system automatically manages the complexity by monitoring which services have been backed up, verifying their consistency with the snapshot, and coordinating restoration operations. The feedback loop reduces backup complexity by providing automated oversight and ensuring consistency without requiring manual coordination of each individual service backup.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9141683B1Distributed computer system snapshot instantiation with variable depth
Publication Date: 2015.09.22 AMAZON TECH INC
  • US9141683B1 patent drawing
  • US9141683B1 patent drawing
  • US9141683B1 patent drawing

AI summary

Distributed computer systems prepare and instantiate snapshots by processing sets of nodes representing computer resources that are portions of a larger system. A user may choose to prepare or instantiate a snapshot containing all or only a portion of the data within the distributed computer system, such as a template of the distributed computer system. A template snapshot may be available in an electronic marketplace for other users to purchase and instantiate into a replica of the distributed computer system.