Distributed File System Metadata Indexing and Scalability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large commercial internet-based businesses face challenges in providing continuous and reliable file storage services to millions of users worldwide, requiring efficient mechanisms to handle heavy traffic and ensure data availability despite component failures, while also needing to scale storage capacity without downtime.

Innovation Solution

A file system that stores meta-data and meta-data index files, using a hashing mechanism to distribute files across multiple storage units, with a configuration file system allowing for on-the-fly expansion of storage capacity and a globally unique identifier to prevent deadlocks during simultaneous access requests, and utilizing meta-data index files for efficient searching.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a traditional file storage system is used, then data can be stored and retrieved, but the system cannot handle heavy traffic loads and component failures while maintaining continuous operation

Engineering Contradiction:
Improvecontinuous operationVSAvoidsystem architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system divides file storage into multiple independent storage units (104-1, 104-2, 104-3, 104-4) distributed across different physical locations. Each storage unit can operate independently, allowing the system to maintain continuous operation even when individual units or network paths fail. The file system (102) manages these segmented storage units through a distributed architecture that eliminates single points of failure.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system changes the parameter of data redundancy by storing multiple copies of the same data across different storage units. This redundancy parameter ensures that if one storage unit fails, data can be retrieved from alternative units, maintaining continuous operation. The system dynamically manages these redundant copies based on failure detection and recovery needs.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If storage capacity is expanded by adding new storage units, then more data can be stored, but the system experiences downtime during the expansion process

Engineering Contradiction:
Improvestorage capacityVSAvoiddowntime
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The system performs preliminary actions by pre-configuring the distributed file system architecture to accept dynamic addition of storage units. The file system (102) is designed with pre-established protocols for unit identification (using unit IDs), data distribution, and indexing that are ready before expansion occurs. This allows new storage units to be integrated without requiring system shutdown or reconfiguration of the entire architecture.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic scalability where storage units can be added or removed from the distributed file system without interrupting operations. The file system (102) dynamically adjusts its configuration to accommodate changing numbers of storage units, reassigning data locations and updating indexes in real-time. This dynamic behavior enables capacity expansion while maintaining continuous service availability.

Inventive Principle:
Principle #15Dynamics

3Measurement precision

If meta-data index files are updated frequently to reflect new files, then search efficiency is maintained, but system performance degrades due to constant write operations

Engineering Contradiction:
Improvesearch efficiencyVSAvoidsystem performance
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system implements periodic batching of meta-data index updates rather than immediate updates for every file operation. The file system (102) accumulates file addition, deletion, and modification events and processes them in periodic batches, updating the distributed indexes at scheduled intervals. This periodic action reduces the frequency of write operations to index files while maintaining search efficiency, as indexes are kept reasonably current without requiring updates after every single file operation.

Inventive Principle:
Principle #19Periodic action

4Reliability

If data is distributed across multiple storage units, then redundancy and scalability are improved, but data retrieval complexity increases

Engineering Contradiction:
ImproveredundancyVSAvoiddata retrieval complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The file system (102) acts as an intermediary layer between the user/requestor and the distributed storage units. It maintains a centralized view of data locations across all storage units through global indexes, translating user file access requests into specific storage unit addresses. This intermediary function abstracts the complexity of distributed data locations from users, allowing simple file access operations while the file system handles the complex routing and redundancy management in the background.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8620923B1System and method for storing meta-data indexes within a computer storage system
Publication Date: 2013.12.31 ADOBE INC
  • US8620923B1 patent drawing
  • US8620923B1 patent drawing
  • US8620923B1 patent drawing

AI summary

Instead of using a separate database to store meta-data for computer files, the file system itself is used to store the meta-data associated with computer files and meta-data index files that allow searches to be performed quickly on meta-data values. The meta-data index files may store the filenames of computer files having a particular meta-data value. The filenames stored within the meta-data index file may also be sorted according to another meta-data type in order provide additional information. When adding a new computer file to a particular meta-data index file, that computer file may be added to a meta-data index appendix file that is not sorted. Periodically, the meta-data index appendix file will be integrated into the main meta-data index file. This may occur when the meta-data index appendix file reaches a particular size.