Partitioned Directory Read with Horizontal Traversal
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Partitioning a directory during a read operation can lead to missing or duplicating file entries, as existing methods either prevent shared access or result in inefficient data retrieval, especially in scenarios with increased computer usage and content sharing.
Innovation Solution
A file system approach that reads data blocks from a partitioned directory in a horizontal and round-robin fashion, updating offset values to ensure each entry is read only once, and using null values for incomplete buffer fills to maintain accurate tracking of newly added entries.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If an exclusive lock is placed on the directory being read, then data consistency is ensured during the read operation, but other processes are prevented from accessing the directory simultaneously, reducing system productivity
Solution Approach 1:
The directory is divided into multiple partitions, allowing different processes to access different partitions simultaneously. The exclusive lock is applied only to the specific partition being read rather than the entire directory, enabling concurrent access to other partitions while maintaining data consistency within the locked partition.
2Productivity
If the directory is partitioned to allow concurrent access, then directory accessibility is improved, but file entries may be missed or duplicated during the read operation
Solution Approach 1:
Before reading a partition, the system obtains an exclusive lock on that specific partition. This preliminary locking action ensures that the partition structure remains stable during the read operation, preventing entries from being moved or deleted mid-read, thereby eliminating the risk of missing or duplicating file entries while still allowing other partitions to be accessed concurrently.
3Productivity
If directory partitioning is performed during a read operation, then concurrent access capability is improved, but the read operation may read entries multiple times due to shuffling of entries
Solution Approach 1:
The exclusive lock is acquired before the read operation begins, which prevents any partitioning or entry shuffling from occurring during the read. This ensures that the directory structure remains static throughout the read operation, eliminating the need to re-read entries and avoiding time loss while still permitting partitioning to exist for concurrent access capability.
Data Source
AI summary
A method of reading data from a partitioned directory incident to a serialized process. A first read and an offset value are received. A first data block in a modeled fully partitioned directory is identified based on the offset value and a predetermined number of entries associated with a buffer. It is determined whether the first data block in the fully partitioned directory is present in the actual partitioned directory. Zeros are written in the buffer if the first data block in the fully partitioned directory is not present in the actual partitioned directory otherwise the first data block associated with the actual partitioned directory is written to the buffer. A second data block is similarly read by a second read operation and written. The second data block is associated with a second subdirectory, selected based on a horizontal node traversal at a node level of said first subdirectory.


