Distributed File System Garbage Collection via Delayed Deletion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems face scalability issues and poor fault tolerance, requiring manual intervention for distribution and handling failures, leading to potential data unavailability and corruption.

Innovation Solution

A scalable distributed file system with a garbage collection method that renames and permanently deletes files, identifies and deletes orphaned chunks, and manages stale replicas, utilizing a master node to maintain namespace data and chunk replicas across multiple servers for fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If files are immediately deleted upon user request, then storage space is reclaimed quickly, but the risk of accidental data loss increases and fault tolerance is compromised

Engineering Contradiction:
Improvestorage reclamation speedVSAvoiddata safety
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by renaming files to a special deleted state before actual deletion, and by creating a delayed deletion mechanism that waits for a predetermined time period or confirmation before permanently removing files. This preliminary action allows for recovery opportunities while still progressing toward storage reclamation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system provides a safety cushion by maintaining a grace period between file deletion request and actual permanent deletion. During this period, files can be recovered if needed, cushioning against accidental data loss. The system also maintains metadata about deleted files to enable potential recovery operations.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Reliability

If manual intervention is used to redistribute files across servers, then fault tolerance can be improved, but system complexity and operational time increase

Engineering Contradiction:
Improvefault toleranceVSAvoidsystem operation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically detecting file distribution imbalances and triggering redistribution operations without human intervention. The master node monitors the distributed file system state and autonomously manages file migration to maintain optimal distribution across servers, reducing operational complexity while maintaining reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system uses feedback mechanisms where the master node continuously monitors file distribution across servers and automatically initiates redistribution when imbalances are detected. This closed-loop control ensures fault tolerance is maintained without requiring manual intervention, as the system self-corrects based on monitored conditions.

Inventive Principle:
Principle #23Feedback

3Productivity

If garbage collection is performed immediately upon file deletion, then storage efficiency improves, but the risk of deleting still-needed data increases

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata availability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary renaming of files to a deleted state before actual garbage collection, allowing a recovery window to pass first. Files are marked for deletion but not immediately removed from storage, enabling potential recovery while still preparing for eventual space reclamation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements periodic garbage collection rather than immediate deletion, using a predetermined time delay or confirmation mechanism before permanent removal. This periodic action allows the system to safely reclaim storage space while maintaining data availability during the grace period.

Inventive Principle:
Principle #19Periodic action

4Productivity

If distributed file systems are scaled by adding more servers, then aggregate performance improves, but the difficulty of maintaining data consistency and handling failures increases

Engineering Contradiction:
Improveaggregate performanceVSAvoidsystem maintenance complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The master node performs multiple functions including metadata management, file distribution coordination, garbage collection, and server failure detection. This multi-functionality consolidates control logic in a single node, simplifying the system architecture while enabling scalable performance through additional storage servers.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The master node acts as an intermediary between clients and distributed servers, managing all file operations, coordination, and consistency. This intermediary approach abstracts the complexity of distributed system management from individual servers and clients, allowing the system to scale while maintaining manageable complexity through centralized coordination.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7865536B1Garbage collecting systems and methods
Publication Date: 2011.01.04 GOOGLE LLC
  • US7865536B1 patent drawing
  • US7865536B1 patent drawing
  • US7865536B1 patent drawing

AI summary

A system facilitates the deletion of data, such as files, orphaned chunks, and stale replicas. The system may identify a file to be deleted, rename the identified file, permanently delete the renamed file a predetermined amount of time after renaming the identified file as part of a garbage collection process, receive, from the servers, information concerning chunks stored by the servers, and identify, to the servers, ones of the chunks that do not exist possibly due to the permanent deletion of the renamed file. The system may further provide a mapping of file names to chunks, identify chunks, as orphaned chunks, that are not reachable from any of the file names, delete the orphaned chunks, receive, from the servers, information concerning chunks stored by the servers, and identify, to the servers, ones of the chunks that are orphaned chunks. The system may also associate version information with replicas of chunks, identify stale replicas based on the associated version information, delete the stale replicas, receive, from the servers, information concerning replicas stored by the servers, and identify, to the servers, ones of the replicas that are stale replicas.