Distributed File System Thick File Allocation via Cluster Locking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized environments, existing distributed file systems face challenges in efficiently managing thick files, particularly in terms of storage allocation and deallocation, leading to prolonged file creation times and inconsistent resource access among host machines due to the need for extensive locking mechanisms and fragmentation issues.

Innovation Solution

The implementation of a distributed file system that utilizes both small file blocks (SFBs) and large file blocks (LFBs) for storage allocation, allowing for efficient allocation and deallocation of resources through a locking mechanism that reduces the number of lock/unlock operations required, thereby improving response times and resource management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a locking mechanism is employed to ensure mutual exclusion of file system resources, then resource access consistency is improved, but file creation time increases due to extensive lock/unlock operations

Engineering Contradiction:
Improveresource access consistencyVSAvoidfile creation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the file system resources into resource clusters, where each cluster contains multiple file blocks. The locking mechanism operates at the cluster level rather than individual file block level. This segmentation reduces the number of lock/unlock operations from being proportional to the number of file blocks to being proportional to the number of clusters, significantly reducing file creation time while maintaining resource access consistency through cluster-level mutual exclusion.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If storage is allocated in single-sized file blocks, then resource management is simplified, but file creation time increases disproportionately for larger files due to fragmentation

Engineering Contradiction:
Improveresource management complexityVSAvoidfile creation time
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The patent segments storage resources into resource clusters that can be allocated as unified units. Each cluster contains multiple file blocks of any size, allowing the system to allocate storage in larger, more efficient chunks rather than many small individual blocks. This reduces the number of allocation operations and minimizes fragmentation effects, significantly improving file creation performance for large files while maintaining manageable resource tracking through cluster-level metadata.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If the locking mechanism operates at the file block level, then resource allocation precision is improved, but the number of lock/unlock operations increases significantly

Engineering Contradiction:
Improveresource allocation precisionVSAvoidresource allocation speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent introduces an intermediate segmentation level between individual file blocks and the entire file system by creating resource clusters. Each cluster acts as a managed unit containing multiple file blocks. The locking mechanism operates at this cluster level, providing sufficient resource allocation precision for mutual exclusion while reducing the number of lock/unlock operations from file-block-level granularity to cluster-level granularity, thereby improving resource allocation speed.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10599366B2Method and system for thick files in a distributed file system
Publication Date: 2020.03.24 VMWARE INC
  • US10599366B2 patent drawing
  • US10599366B2 patent drawing
  • US10599366B2 patent drawing

AI summary

A distributed file system may be configured with file blocks of a first type and file blocks of a second type, from allocation units that comprise a logical volume containing the file system. File blocks of the second type may be defined from one or more file blocks of the first type. A thick file may be instantiated with a number of allocation units totaling a size greater than or equal to a specified file size of the thick file. The allocation units may be allocated to the thick file in units of file blocks of the first type or file blocks of the second type, depending on the specified file size of the thick file.