Directory Read Indexing for Partitioned Subdirectories

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional directory read operations, such as readdir, face inefficiencies due to exclusive access requirements and potential data duplication when partitioning directories, leading to missed or duplicate file entries during read operations.

Innovation Solution

Implementing a system that maintains multiple indexes to track progress within a directory and its subdirectories during a readdir operation, ensuring that entries are read only once and not missed during partitioning, by using thread-specific and subdirectory-specific offsets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the directory is partitioned during a read operation, then directory accessibility is improved by allowing simultaneous exclusive and shared access, but entries may be read twice or missed due to shuffling of entries

Engineering Contradiction:
Improvedirectory accessibilityVSAvoidcompleteness of read operation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The directory is segmented into multiple partitions or subdirectories during the read operation. This segmentation allows different portions of the directory to be accessed simultaneously by different processes with different access types (exclusive and shared), thereby improving overall directory accessibility while maintaining data integrity through proper tracking of read progress in each partition.

Inventive Principle:
Principle #1Segmentation

2Reliability

If exclusive access requests are placed on files within a directory, then data integrity is maintained, but the data cannot be shared with other requests

Engineering Contradiction:
Improvedata integrityVSAvoiddirectory sharing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The directory is divided into multiple partitions, allowing different access modes to be applied to different partitions simultaneously. Some partitions can have exclusive access while others allow shared access, enabling both data integrity protection and directory sharing capability to coexist.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different access permissions and integrity constraints are applied locally to different partitions of the directory based on their specific requirements. This allows each partition to have optimized access control tailored to its usage pattern, enabling both exclusive and shared access scenarios within the same directory structure.

Inventive Principle:
Principle #3Local quality

3Reliability

If partitioning is prevented during serialized processes like readdir, then read operation completeness is maintained, but file system performance is negatively impacted

Engineering Contradiction:
Improveread operation completenessVSAvoidfile system performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by establishing multiple indexes and tracking structures before partitioning occurs during the read operation. This preliminary setup enables the system to handle partitioning dynamically while maintaining read operation completeness, thus allowing performance optimization without sacrificing reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms through multiple indexes that continuously track the progress of read operations across different partitions. This feedback allows the system to detect and correct any issues with entry duplication or omission, enabling partitioning to occur during serialized processes while maintaining read operation completeness.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8818970B2Partitioning a directory while accessing the directory
Publication Date: 2014.08.26 ARCTERA US LLC
  • US8818970B2 patent drawing
  • US8818970B2 patent drawing
  • US8818970B2 patent drawing

AI summary

A process for reading entries in a directory is initiated. A first index is maintained to indicate how far the read has progressed in the directory. If, during execution of the process, the directory is partitioned into subdirectories, then a second index is maintained for each of the subdirectories to indicate how far the read has progressed in each of the subdirectories. A third index that indicates how far the read has progressed in the partitioned directory is also maintained.