Replicated Object Store Ordering for Immutable Bucket Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage systems face challenges in maintaining high availability and disaster recovery during communications outages, particularly in replicated object stores across different regions, leading to potential data loss and system instability.
Innovation Solution
Implementing application-side infrastructure and fault handling mechanisms to manage replication relationships between cross-region replicated object stores, ensuring data consistency and availability through direct control of replication processes and utilizing non-volatile solid-state storage units with battery-backed RAM for quick data buffering.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If replication relationships are maintained across regions during communications outages, then data availability and system resilience are improved, but data consistency and system stability deteriorate due to potential data loss and instability
Solution Approach 1:
The patent implements preliminary actions by establishing replication relationships and fault handling mechanisms before communications outages occur. The application-side infrastructure is pre-configured to manage replication, and non-volatile solid-state storage units with battery-backed RAM are prepared for quick data buffering, ensuring data consistency can be maintained even during outages.
Solution Approach 2:
The patent introduces an intermediary layer (application-side infrastructure) between the replicated object stores to manage replication relationships during outages. This intermediary handles fault detection, data buffering, and replication coordination, preventing direct conflicts between regions while maintaining data consistency through controlled mediation.
2Reliability
If direct control of replication processes is implemented, then data integrity is improved, but system complexity increases due to application-side infrastructure requirements
Solution Approach 1:
The patent implements multi-functionality by having the application-side infrastructure perform multiple functions: managing replication relationships, detecting faults, buffering data, and coordinating failover. This consolidates what would otherwise require separate specialized systems into a single universal platform, reducing overall system complexity while maintaining data integrity.
Solution Approach 2:
The system implements self-service through automatic fault detection and handling mechanisms. The application-side infrastructure autonomously monitors replication health, detects communications outages, and triggers appropriate fault handling actions without requiring manual intervention, simplifying operation while ensuring data integrity.
3Reliability
If non-volatile solid-state storage units with battery-backed RAM are used for quick data buffering, then data availability is improved, but system cost and energy consumption increase
Solution Approach 1:
The patent applies partial action by using non-volatile solid-state storage units with battery-backed RAM selectively for buffering critical data that requires quick access during outages, rather than buffering all data. This targeted approach maintains data availability for essential operations while reducing unnecessary energy consumption compared to buffering entire datasets.
Applied Scientific Principles
This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.
Function Achieved in This Case
Enhances data integrity and system resilience by maintaining replication relationships during outages, reducing data loss, and ensuring seamless operation across regions.
Implementation Method 1
utilizing non-volatile solid-state storage units with battery-backed RAM for quick data buffering
Data Source
AI summary
High availability and disaster recovery for replicated object stores is disclosed. An embodiment includes receiving, by a first storage system of a plurality of storage systems symmetrically replicating objects of a bucket, a request to establish immutable content for the bucket; indicating, by the first storage system to a second storage system of the plurality of storage systems, the request to establish immutable content, wherein the second storage system establishes an ordering for conflicting requests of different storage systems to establish immutable content for the bucket; and processing, by the first storage system, the request based on ordering information received from the second storage system.


