Multi-threaded Directory Tree Deletion via Dynamic Queue Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data storage systems face challenges in efficiently managing large directory trees, particularly in handling deletion requests and maintaining queue thresholds to prevent overflow and ensure effective directory tree deletion operations.

Innovation Solution

A server configuration with a first processing device for storing deletion requests and a second processing device with programmable hardware chips, which isolates directory trees, reads objects, and manages work queues to ensure that objects are processed efficiently, either by pushing them into a work queue or removing them if the queue exceeds thresholds, and utilizes thread processes for directory tree deletion.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the work queue size is increased to handle large directory trees, then the deletion capability is improved, but the system memory consumption increases and stability deteriorates

Engineering Contradiction:
Improvedirectory tree deletion capabilityVSAvoidmemory consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent divides the work queue into multiple segments or chunks, processing directory trees in smaller batches rather than loading everything into a single large queue. This segmentation allows the system to handle large directory trees by processing them in manageable portions, reducing peak memory consumption while maintaining deletion capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The work queue size is made dynamic rather than static, adjusting the queue capacity based on available system resources and the specific deletion task at hand. This dynamic adaptation allows the system to optimize between processing efficiency and memory consumption, preventing queue overflow while avoiding excessive memory allocation.

Inventive Principle:
Principle #15Dynamics

2Reliability

If the work queue threshold is set low to prevent overflow, then system stability is improved, but the deletion efficiency deteriorates due to frequent queue clearing

Engineering Contradiction:
Improvesystem stabilityVSAvoiddeletion efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by isolating the directory tree in an inaccessible portion of the storage system before deletion begins. This preliminary isolation prevents client access conflicts and allows the deletion process to proceed without interruptions, improving both stability and efficiency by avoiding mid-process queue clearing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (the isolated storage portion and work queue management layer) between the client requests and the actual deletion operations. This intermediary buffers and manages the work queue, allowing the system to maintain stability thresholds while processing deletions efficiently without direct client interference.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Speed

If multi-threading is implemented to speed up deletion, then processing speed is improved, but system resource management complexity increases

Engineering Contradiction:
Improvedeletion processing speedVSAvoidresource management complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The deletion task is segmented into independent units of work that can be distributed across multiple threads. Each thread processes a portion of the directory tree independently, with the work queue managing task distribution. This segmentation enables parallel processing while keeping individual thread complexity manageable.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The work queue implements self-service mechanisms by automatically managing thread task assignment, queue monitoring, and threshold enforcement without requiring complex external resource management. The system self-regulates by pushing objects to the work queue when below threshold and clearing when above, reducing the burden on external resource management complexity.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10515054B2Fast and efficient multi-threaded algorithm for deleting an arbitrarily wide and deep directory tree using limited system resources
Publication Date: 2019.12.24 HITACHI VANTARA LLC
  • US10515054B2 patent drawing
  • US10515054B2 patent drawing
  • US10515054B2 patent drawing

AI summary

Example implementations described herein include systems and methods for processing the deletion of a directory that can include one or more subdirectories. In a system including a server having a hardware-side and a software-side that manages one or more storage systems or storage devices, a client may request the deletion of a directory, whereupon the processing of the directory occurs in a work queue and subtree queue for processing subdirectories.