Policy-Based Disaster Recovery for Containerized Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in efficiently managing data across multiple storage nodes and ensuring data redundancy and consistency, particularly in cloud-based environments.
Innovation Solution
The proposed solution involves a distributed storage system architecture that utilizes non-volatile solid state storage units with embedded processors and flash memory, implementing erasure coding and redundancy schemes to ensure data availability and integrity across multiple storage nodes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If data is replicated across multiple storage nodes, then data availability and reliability are improved, but storage efficiency and resource utilization deteriorate due to redundant data copies
Solution Approach 1:
The patent segments data into multiple chunks or strips and distributes them across different storage nodes. Instead of replicating entire data copies, the data is divided into smaller units that can be spread throughout the storage system, improving both availability and efficiency by reducing redundant storage requirements.
Solution Approach 2:
The patent employs erasure coding schemes that transform data into encoded form with added redundancy information. By changing the representation parameters of data (from direct copies to encoded chunks), the system achieves reliable data recovery with less actual data stored, resolving the contradiction between reliability and storage efficiency.
2Reliability
If erasure coding is implemented for data redundancy, then data integrity and availability are improved, but computational complexity and processing overhead increase
Solution Approach 1:
The patent performs erasure coding operations in advance during data write operations. By encoding data beforehand and distributing encoded chunks to storage nodes, the system prepares redundancy information proactively, so that during read or recovery operations, no complex real-time computation is needed—only simple assembly of available chunks.
Solution Approach 2:
The system design allows storage nodes to independently perform encoding and decoding operations using locally stored data chunks. Each node can autonomously contribute to data recovery without requiring centralized coordination or complex global computations, reducing overall system computational complexity.
3Reliability
If proactive data rebuilding is performed, then data availability and reliability are improved, but storage system performance and productivity deteriorate due to additional I/O operations
Solution Approach 1:
The patent implements periodic health monitoring and scheduled data rebuilding operations. Instead of continuous monitoring or reactive rebuilding only after failures, the system periodically checks storage node status and proactively rebuilds data during low-utilization periods, distributing the I/O load over time to minimize performance impact.
Solution Approach 2:
The system prioritizes and accelerates data rebuilding operations when resources are available, rushing through the I/O operations during off-peak times. By skipping normal performance optimization during rebuilds and accepting temporary performance degradation, the system ensures data availability while minimizing overall productivity impact.
Data Source
AI summary
An illustrative method includes a controller associated with a plurality of clusters receiving, from a user, a disaster recovery policy of a containerized application deployed on a first cluster in the plurality of clusters, determining a cluster profile of each second cluster among one or more second clusters that are distinct from the first cluster in the plurality of clusters, identifying, from the one or more second clusters, a particular cluster based on the disaster recovery policy of the containerized application and the cluster profile of each second cluster, and assigning the particular cluster to be a disaster recovery cluster for the containerized application.


