Distributed File System Speculative Writing Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed file systems, existing methods for selecting destination virtual heads for data storage are often sub-optimal, leading to performance issues under varying network conditions, as the selection is typically done by the metadata owner head, which lacks local information about congestion and connectivity.

Innovation Solution

The initiator virtual head selects destination virtual heads based on local information such as network topology, congestion, and storage availability, caching data until a commit instruction is received from the owner virtual head, allowing for speculative writing and optimizing data storage under dynamic conditions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the metadata owner virtual head selects destination virtual heads for data storage, then the selection process is centralized and simple to manage, but the selection becomes sub-optimal under varying network conditions due to lack of local congestion and connectivity information

Engineering Contradiction:
Improveselection process complexityVSAvoiddata storage efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent extracts the destination virtual head selection function from the metadata owner virtual head and transfers it to the initiator virtual head. This allows the initiator to use local information about network topology, congestion, and connectivity to make optimal selection decisions, while the metadata owner retains responsibility for metadata management. The selection process is thus divided between two entities based on their respective information advantages.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent enables the initiator virtual head to make selection decisions based on local information specific to its position in the network, including local knowledge of network topology, congestion conditions, and connectivity. This local quality of information allows for more informed and adaptive destination head selection compared to centralized selection by the metadata owner.

Inventive Principle:
Principle #3Local quality

2Reliability

If data is immediately committed to persistent storage upon receipt, then storage reliability is ensured, but network latency increases and storage efficiency decreases under dynamic conditions

Engineering Contradiction:
Improvedata storage reliabilityVSAvoidnetwork latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary caching of data portions in destination virtual heads before final commitment to persistent storage. Data is cached in memory first, allowing the system to prepare for potential commits without immediately writing to disk. This preliminary action in the cache layer reduces the impact of dynamic conditions on storage performance while maintaining the option to commit reliably when appropriate.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces dynamic control over the commit operation through commit instructions from the metadata owner virtual head. The commit timing and target can be adjusted based on current system conditions, allowing the system to adapt between immediate commitment (for reliability) and delayed commitment (for performance) based on the operational context.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the initiator virtual head re-selects destination virtual heads in response to events, then adaptability to changing conditions is improved, but system complexity and coordination overhead increase

Engineering Contradiction:
Improveadaptability to network conditionsVSAvoidselection mechanism complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the initiator virtual head monitors network conditions and system state, and re-selects destination virtual heads in response to detected changes or events. This feedback loop enables the system to adapt to varying network conditions, congestion patterns, and failure scenarios by dynamically adjusting destination head selection based on current information.

Inventive Principle:
Principle #23Feedback

4Loss of energy

If data portions are sent directly from initiator to destination virtual heads without routing through the owner virtual head, then network traffic efficiency is improved, but coordination and consistency management becomes more complex

Engineering Contradiction:
Improvenetwork traffic efficiencyVSAvoidcoordination complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent extracts the data transfer path from the traditional route through the metadata owner virtual head and creates a direct path from the initiator virtual head to the destination virtual heads. This optimization reduces network traffic by eliminating the intermediate routing step, while coordination complexity is managed through the separate commit instruction mechanism that ensures consistency.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9465558B2Distributed file system with speculative writing
Publication Date: 2016.10.11 GOOGLE LLC
  • US9465558B2 patent drawing
  • US9465558B2 patent drawing
  • US9465558B2 patent drawing

AI summary

A method for data storage includes running on multiple interconnected compute nodes respective virtual heads that collaboratively store files in persistent storage. In response to receiving in an initiator virtual head a request to write at least a portion of a given file, the initiator virtual head selects one or more destination virtual heads for storing the portion. The portion is sent from the initiator virtual head to the selected destination virtual heads, and a notification of the selected destination virtual heads is sent to an owner virtual head, which has been assigned to own metadata of the portion. In the destination virtual heads, the portion received from the initiator virtual head is cached, and committed to the persistent storage only in response to receiving a commit instruction from the owner virtual head.