Distributed Snapshot Instantiation via Directed Acyclic Graph
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
3Reliability
If the entire distributed computer system is restored from a snapshot, then system reliability is improved, but restoration time and complexity worsen
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.
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.
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
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.
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.
Data Source
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.


