Distributed Storage Delta Replication for Bandwidth Efficiency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Replicating large quantities of data across a distributed database system is inefficient due to limited bandwidth and network outages, especially when changes must be transmitted to multiple instances globally, leading to slow and unreliable data updates.
Innovation Solution
Tracking changes as deltas and transmitting these deltas rather than the entire data, utilizing a network tree structure to reduce data transmission across long-haul links, and implementing a system that dynamically replicates and manages multiple generations of data objects across storage sub-systems.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the entire data is transmitted to all database instances for replication, then data consistency is ensured, but network bandwidth consumption increases and replication speed decreases
Solution Approach 1:
The patent extracts only the changed portions (deltas) of the data for replication instead of transmitting the entire data set. This is achieved by storing data as a base value plus a list of deltas, where deltas contain only the modifications. The replication process then transmits only these deltas to other instances, significantly reducing network bandwidth consumption while maintaining data consistency across all instances.
2Reliability
If data is transmitted to all instances through long-haul network paths, then global replication is achieved, but network resource utilization becomes inefficient
Solution Approach 1:
The patent extracts only the essential change information (deltas) for transmission across the network, eliminating the need to send redundant data through long-haul network paths. By transmitting only the differences rather than complete data sets, the system achieves efficient global replication with minimal network resource consumption.
Solution Approach 2:
The patent implements a nested data structure where deltas are stored within the context of the base data value. The delta list is nested with the base value, and individual deltas are nested within the delta list. This nested structure enables efficient serialization and transmission of only the necessary change information across the network.
3Device complexity
If static network topology is used for replication, then system configuration is simple, but system adaptability to network failures and changes is reduced
Solution Approach 1:
The patent implements dynamic replication routing that adapts to network conditions. Instead of using a fixed static topology, the system dynamically determines optimal replication paths based on current network availability and performance. This enables automatic adaptation to network failures, outages, and changing conditions without requiring manual reconfiguration.
Solution Approach 2:
The patent incorporates feedback mechanisms that monitor network conditions and replication effectiveness. The system uses this feedback to dynamically adjust replication strategies, routing decisions, and data transmission parameters in response to network failures or performance degradation, thereby maintaining high availability and adaptability.
Data Source
AI summary
A method for managing multiple generations of an object within a distributed storage system is implemented at a computing device. The computing device receives metadata and content of a first generation of an object from a first client connected to the distributed storage system and stores the first generation's metadata and content within a first storage sub-system. The computing device receives metadata and content of a second generation of the object from a second client connected to the distributed storage system and stores the second generation's metadata and content within a second storage sub-system. The computing device independently replicates the first generation's metadata and content from the first storage sub-system to the second storage sub-system and replicates the second generation's metadata and content from the second storage sub-system to the first storage sub-system such that both storage sub-systems include a replica of the object's first and second generations.


