Storage System Case Sensitivity Conflict Resolution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a multiprotocol file server environment, conflicts arise when case-sensitive and case-insensitive file protocols interact, leading to issues with file name conflicts and incorrect caching, particularly when SMB clients access files created by NFS clients with the same name but different letter cases.

Innovation Solution

The storage system implements a check for potential case-related problems by translating file names to a case-insensitive format and searching for conflicts in a metadata structure, preventing caching requests if a conflicting name is found, ensuring that SMB clients do not cache files with the same name but different cases, and forwarding requests with the exact name to the storage system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If SMB protocol is used for case-insensitive file access, then file access compatibility is improved, but file name conflict detection becomes difficult

Engineering Contradiction:
Improvefile access compatibilityVSAvoidfile name conflict detection
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The system performs preliminary actions by checking for case-conflicting file names in the metadata structure before allowing SMB clients to access files. When a file is accessed, the system proactively searches for other files with the same name but different letter case, and prevents caching if conflicts are detected, thereby resolving file name conflicts before they cause problems.

Inventive Principle:
Principle #10Preliminary action

2Speed

If client-side caching is enabled for SMB clients, then access speed is improved, but file name conflicts cause incorrect caching

Engineering Contradiction:
Improveaccess speedVSAvoidcaching accuracy
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system implements feedback by continuously monitoring file access patterns and checking metadata for case-conflicting file names. When an SMB client attempts to cache a file, the system checks whether files with the same name but different letter case exist, and provides feedback by denying the caching request if conflicts are detected, thereby ensuring caching accuracy while maintaining access speed.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If NFS clients create files with different letter cases, then file creation flexibility is improved, but conflicts arise when accessed by SMB clients

Engineering Contradiction:
Improvefile creation flexibilityVSAvoidfile name conflicts
Core Design Contradiction:
Adaptability or versatilityVSObject-generated harmful factors

Solution Approach 1:

The system acts as an intermediary between NFS and SMB clients by implementing a metadata structure that tracks all file names in a case-insensitive manner. When SMB clients access files, the system mediates by checking for case-conflicting file names created by NFS clients, and prevents incorrect caching by denying cache requests when conflicts are detected, thereby resolving conflicts while maintaining file creation flexibility.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11303698B1Managing case sensitivity in a multi file protocol environment
Publication Date: 2022.04.12 VAST DATA LTD
  • US11303698B1 patent drawing
  • US11303698B1 patent drawing
  • US11303698B1 patent drawing

AI summary

A method for preventing file system case related errors, the method may include receiving, by a storage system, an indication that a case insensitive file system client intends to cache a first file of a file system; searching for match between (a) at least a part of a case-insensitive version of a case-sensitive pathname of the first file, and (b) at least a part of a case-insensitive version of a case-sensitive pathname of a second file that belongs to the file system and differs from the first file; and preventing a caching of the first file by the case insensitive file system client.