Colocation Hints for Distributed Data Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing distributed data storage systems face inefficiencies in accessing related data items due to the need for multiple accesses across geographically distributed data centers, which can lead to slow performance and increased latency during operations like keyword searches.

Innovation Solution

A system that utilizes colocation hints to identify and store data blocks in the same data centers, facilitating efficient access by using a location map to associate colocation groups with data centers and ensuring copies of related data items are stored together, while allowing for replication across multiple centers for fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If data items are replicated across geographically distributed data centers for fault tolerance, then reliability is improved, but access latency increases due to remote accesses

Engineering Contradiction:
Improvefault toleranceVSAvoidaccess latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies local quality by making the data placement policy adaptive to local conditions at each data center. The system monitors local access patterns and dynamically adjusts replication factors and placement decisions based on local workload characteristics, thereby optimizing access latency for local operations while maintaining fault tolerance through geographic distribution.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by pre-positioning data replicas in data centers based on predicted access patterns and failure probabilities. The system proactively replicates data to multiple locations before failures occur, using historical access data and failure metrics to determine optimal placement, thus reducing access latency when data is needed while ensuring fault tolerance.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data items are colocated at the same data center for efficient access, then access efficiency is improved, but fault tolerance decreases due to single-point failure risk

Engineering Contradiction:
Improveaccess efficiencyVSAvoidfault tolerance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies dynamics by making the data placement strategy adaptive and changeable over time. The system dynamically adjusts the degree of colocation based on current workload patterns, failure rates, and performance metrics. When access efficiency is prioritized, data is colocated; when fault tolerance is needed, replicas are distributed. This dynamic adjustment resolves the contradiction by allowing the system to optimize for different goals at different times.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements parameter changes by modifying replication factors and placement policies based on system state. The system changes key parameters such as the number of replicas, their geographic distribution, and colocation degree in response to measured performance and reliability metrics, thereby balancing access efficiency and fault tolerance through continuous parameter optimization.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If complete copies of data sets are stored at each data center for efficient recovery, then fault tolerance is improved, but storage requirements increase

Engineering Contradiction:
Improvefault toleranceVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSVolume of stationary object

Solution Approach 1:

The patent applies partial action by implementing selective replication where not all data centers store complete copies of all data sets. Instead, the system replicates only the necessary portions of data to specific data centers based on access patterns, failure risks, and storage capacity constraints. This partial replication approach maintains fault tolerance for critical data while reducing overall storage requirements compared to full replication.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements parameter changes by dynamically adjusting replication factors based on data priority, access frequency, and storage availability. The system modifies the number of replicas and their distribution across data centers as parameters change in the system state, thereby achieving fault tolerance while optimizing storage utilization and avoiding unnecessary duplication of data.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9547706B2Using colocation hints to facilitate accessing a distributed data storage system
Publication Date: 2017.01.17 DROPBOX INC
  • US9547706B2 patent drawing
  • US9547706B2 patent drawing
  • US9547706B2 patent drawing

AI summary

The disclosed embodiments relate to a system that uses colocation hints to facilitate storing data blocks in a distributed data storage system, which includes a plurality of data centers. During operation, the system receives a write request from a client to write a data block to the distributed data storage system, wherein the write request includes a colocation hint that identifies a colocation group associated with the data block. In response to the write request, the system uses the colocation hint to identify one or more data centers associated with the colocation group. Next, the system writes copies of the data block to the one or more identified data centers. In this way, the system situates copies of data blocks associated with the colocation group in the same data centers when possible.