Deterministic Test Directory Structure for Storage Integrity Verification
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage system integrity tests do not effectively persist data structures representative of normal usage and cannot determine storage errors at arbitrary later times, lacking the ability to verify the correctness of directory and file structures in virtualized storage systems.
Innovation Solution
A method is introduced to create a test directory structure and files in a logical storage system using a deterministic pseudo-random number generator, where directory and file names are generated based on seed values, allowing for the creation of a comprehensive test environment that can verify the correctness of subdirectories and files, and detect storage errors.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional integrity tests are used to test storage devices, then storage errors can be detected, but the tests cannot persist data structures representative of normal use and cannot determine storage errors at arbitrary later times
Solution Approach 1:
The patent creates a test directory structure with deterministic naming conventions before storage operations occur. Directory and file names are generated using pseudo-random number generators seeded with known values, establishing a baseline structure that can be verified later without requiring the original test to be running.
Solution Approach 2:
The patent creates a copy of the expected directory structure metadata (directory names, file names, hierarchical relationships) that can be stored separately and used for verification. This allows the actual storage system to be tested against a reference model without needing the test environment to persist continuously.
2Reliability
If comprehensive directory and file structure testing is performed, then storage integrity can be verified, but the testing process becomes complex and time-consuming
Solution Approach 1:
The patent changes the parameter of directory and file names from arbitrary strings to deterministic values generated by pseudo-random number generators with known seeds. This transformation allows verification of storage integrity by regenerating the expected structure using the same seed and comparing it against actual storage contents, significantly reducing verification time.
Solution Approach 2:
The patent replaces manual or exhaustive mechanical testing of each file and directory with an automated computational approach using deterministic algorithms. The pseudo-random number generator systematically produces expected directory and file names, which are then automatically compared against storage contents, reducing testing complexity and time.
3Measurement precision
If deterministic pseudo-random number generators are used to create test directory structures, then verification of storage correctness is enabled, but the system requires additional computational resources for generating and managing test data
Solution Approach 1:
The patent makes the pseudo-random number generator a universal component that serves multiple functions: generating test directory names, generating test file names, and providing a verification mechanism. By using the same seeded generator for all test data creation, the system eliminates the need for separate test data management processes, reducing overall computational overhead.
Data Source
AI summary
Methods, systems, and apparatus, including computer program products, for creating test directories and files in a logical storage in a data storage system. The directories include a root directory subdirectories in the root directory. Each directory has a directory key name that has a prefix value; a subdirectory value, the subdirectory value defining a number of immediate subdirectories in the directory; a subdirectory prefix value, the subdirectory prefix value defining a prefix value of each directory key name of each immediate subdirectory in the directory; and a file value, the file value defining a number of files stored in the directory. The contents of any directory can be checked against the directory key name to determine if a data storage error has occurred during testing.


