Remote Object Store Backup Using Resource Dependency Graphs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Remote object stores, such as third-party cloud hyperscalers, lack a mechanism to create backups for dynamic resources like storage virtual machines and file systems due to their dynamic nature and resource dependencies, leading to potential data loss and service interruptions.
Innovation Solution
A backup orchestrator parses REST API specifications to identify resources and dependencies, generating a backup that includes resource properties and dependencies, and restores resources in a specific order to preserve dependencies.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If backup mechanisms are implemented for dynamic resources in remote object stores, then data protection and service continuity are improved, but system complexity and implementation difficulty increase due to resource dependencies
Solution Approach 1:
The backup system segments the resource backup process into independent components: identifying individual resources within a computing environment, determining their dependencies separately, and backing them up in a structured hierarchy. This segmentation allows the complex backup task to be managed through modular steps, reducing overall system complexity while maintaining comprehensive data protection.
Solution Approach 2:
The system performs preliminary actions by first identifying all resources and their dependencies before executing the backup process. A dependency graph is constructed in advance to map relationships between resources, allowing the backup mechanism to plan the backup sequence and avoid conflicts. This preliminary analysis simplifies the actual backup execution while ensuring reliability.
2Reliability
If all resources and dependencies are backed up, then complete data protection is achieved, but backup time and computational resources increase
Solution Approach 1:
The system extracts only the necessary resources and their specific dependencies required for the backup operation, rather than backing up entire systems indiscriminately. By analyzing the dependency graph, the system identifies and extracts only those resources that are actually dependent on the primary resource being backed up, reducing backup time while maintaining complete protection for critical data.
Solution Approach 2:
The system implements partial action by backing up resources in stages based on their criticality and dependency relationships. Not all resources require the same level of backup priority or completeness. The dependency graph allows the system to perform partial backups of less critical resources while ensuring complete backups of essential resources, optimizing the balance between protection and time consumption.
3Reliability
If resources are restored in dependency order, then service continuity is ensured, but restore process complexity increases
Solution Approach 1:
The dependency graph is constructed in advance during the backup phase, capturing all resource relationships before restoration is needed. This preliminary mapping of dependencies eliminates the need for complex real-time analysis during restoration. The system simply follows the pre-established restore sequence from the dependency graph, ensuring service continuity while keeping the restore process manageable.
Solution Approach 2:
The system creates a copied representation of the resource dependency structure in the dependency graph. During restoration, this copied structure guides the restore process without requiring direct manipulation of the actual resource relationships. The graph serves as a template that simplifies the complex task of restoring resources in the correct order by providing a clear, pre-defined sequence.
4Manufacturing precision
If dynamic properties of resources are captured in backup, then accurate restoration is possible, but backup data size and processing requirements increase
Solution Approach 1:
The system extracts only the essential dynamic properties of resources that are necessary for accurate restoration, rather than backing up all possible attributes. By analyzing which properties are critical for resource functionality and restoration accuracy, the system captures only those specific dynamic characteristics, reducing backup data size while maintaining restoration precision.
Solution Approach 2:
Different resources have different types and amounts of dynamic properties that are relevant to their restoration. The system applies local quality by capturing property-specific data only for each resource type based on its unique requirements. This targeted approach ensures accurate restoration of each resource without uniformly increasing backup size across all resources, optimizing the balance between precision and data volume.
Data Source
AI summary
Techniques are provided for backing up and restoring a file system or storage virtual machine located within a remote object store. A specification is parsed to identify resources associated with and including a primary resource hosted within a remote object store and to identify REST API endpoints of the resources. GET operations targeting the REST API endpoints of the resources are performed to retrieve the resources and properties of the resources. A link relationship specification is parsed to identify links corresponding to dependencies amongst the resources. A backup of the primary resource is generated to include the resources, the properties of the resources, and dependency information derived from the links. The backup can be used to restore the primary resource to the remote object store in manner that preserves the dependencies amongst the resources.


