Dual-Case File System Directory Lookup via Case-Folding Indexing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional file systems either support case-sensitive or case-insensitive access, but not both simultaneously, leading to inefficiencies and impracticalities, especially in large systems where dual-case access is needed.
Innovation Solution
A file system that indexes directories and files using both the original case-preserved and case-neutral names, allowing for both case-sensitive and case-insensitive access through a single file system directory, utilizing a B+-tree data structure and extended attributes for efficient lookups.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If a file system supports only case-sensitive lookup, then lookup precision is improved, but adaptability deteriorates (cannot support case-insensitive protocols)
Solution Approach 1:
The file system is segmented into two parallel lookup paths: a case-sensitive lookup path that maintains exact matching precision, and a case-insensitive lookup path that provides protocol compatibility. The system divides the lookup functionality so that different protocols can use different paths simultaneously without interfering with each other.
Solution Approach 2:
The file system achieves multi-functionality by implementing a unified directory structure that serves both case-sensitive and case-insensitive lookup requirements. The same file system can simultaneously support SMB protocols (which may require case-insensitive lookup) and NFS protocols (which require case-sensitive lookup) without needing separate file system instances.
2Adaptability or versatility
If a file system supports only case-insensitive lookup, then adaptability is improved, but lookup precision deteriorates (cannot distinguish files with different cases)
Solution Approach 1:
The lookup functionality is segmented into distinct case-sensitive and case-insensitive paths. When precise file distinction is needed, the system routes queries through the case-sensitive path. When protocol compatibility is the priority, queries are routed through the case-insensitive path. This segmentation allows both precision and adaptability to be preserved in their respective contexts.
Solution Approach 2:
The file system dynamically selects between case-sensitive and case-insensitive lookup modes based on the specific protocol or application requirements. The system can switch between different lookup strategies without reformatting or restructuring the underlying file system, providing dynamic adaptability to different operational contexts.
3Adaptability or versatility
If a file system is reformatted to change case sensitivity, then case sensitivity support is improved, but service continuity deteriorates (complete disruption of service)
Solution Approach 1:
The file system performs preliminary setup during initialization to establish both case-sensitive and case-insensitive lookup capabilities simultaneously. By preparing the directory structure and metadata in advance to support both lookup modes, the system eliminates the need for later reformatting operations that would cause service disruption.
Solution Approach 2:
The patent introduces an intermediary layer (such as a translation layer or metadata structure) that mediates between case-sensitive and case-insensitive requirements. This intermediary allows the file system to maintain its underlying structure while providing both types of access, avoiding the need to erase and reformat the volume.
4Adaptability or versatility
If whole directory is read into memory for case-insensitive lookup, then lookup adaptability is improved, but memory consumption and processing time increase
Solution Approach 1:
The patent extracts only the necessary components for case-insensitive lookup from the full directory structure. Instead of loading entire directories into memory, the system extracts and indexes only the filename metadata needed for case-insensitive matching, leaving the rest of the directory structure on disk. This selective extraction reduces memory consumption while maintaining lookup capability.
Solution Approach 2:
The system performs preliminary indexing of directory entries during file system initialization or idle periods. By pre-processing and organizing directory metadata into efficient lookup structures beforehand, the system avoids the need to read entire directories into memory during actual lookup operations, reducing both memory consumption and processing time.
Data Source
AI summary
A file system stores directories and files in a file system directory that uses case sensitive names. The same file system directory can support directory and file name lookups that treat the directory and file names in a case sensitive manner or in a case insensitive manner. The search criteria used for the lookup can be based on case-folding the name to produce a case-neutral name and on the original name with its case preserved. Search criteria can be generated for a case sensitive name lookup or for a case insensitive name lookup on the same file system directory, thus avoiding having to support separate file systems or separate file system directories for case sensitive and case insensitive file access.


