Garbage Collector Orphan Detection via Dual Journals
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for managing and reclaiming storage capacity in distributed systems, particularly in Content Addressed Storage (CAS), face inefficiencies due to unreliable detection of orphaned Binary Large Objects (BLOBs) and asynchronous reference changes, leading to potential data loss and capacity wastage.
Innovation Solution
A garbage collection process that maintains two journals, one for created and one for deleted content addressable files, tracks positive and negative references to determine orphaned objects, and reclaims capacity based on age thresholds, ensuring efficient and reliable detection and reclamation of orphaned BLOBs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional garbage collection methods are used in distributed systems, then storage capacity can be reclaimed, but unreliable detection of orphaned BLOBs leads to potential data loss and capacity wastage
Solution Approach 1:
The system performs preliminary actions by maintaining journals that record all reference changes before garbage collection occurs. The positive journal tracks created references and the negative journal tracks deleted references, allowing the system to determine the reference status of each BLOB before reclamation, thereby preventing both data loss and capacity wastage.
Solution Approach 2:
The patent introduces journals as intermediary structures between reference changes and garbage collection decisions. These journals act as mediators that capture and preserve reference information, enabling reliable determination of orphaned BLOBs without directly observing the distributed system state, thus resolving the contradiction between detection reliability and resource efficiency.
2Reliability
If reference tracking is implemented to reliably detect orphaned objects, then data loss is prevented, but system complexity increases due to maintaining multiple journals and reference sets
Solution Approach 1:
The patent segments the reference tracking system into distinct components: a positive journal for tracking created references, a negative journal for tracking deleted references, and sets of positive and negative references for each BLOB. This segmentation allows each component to have a specific, simple function while collectively providing reliable orphan detection, thereby managing system complexity through modular organization.
3Productivity
If all orphaned BLOBs are reclaimed immediately, then storage capacity utilization is maximized, but asynchronous reference changes may cause premature deletion leading to data loss
Solution Approach 1:
The system uses feedback from the journals and reference sets to determine whether a BLOB is truly orphaned before reclamation. By continuously tracking reference changes in the positive and negative journals, the system receives feedback about the current reference status of each BLOB, ensuring that reclamation only occurs when it is safe to do so, thus maximizing capacity utilization while preventing data loss.
Data Source
AI summary
A method, computer program product, and computer system for determining, by a computing device, that an object of a plurality of objects is an orphan. It may be determined that the object is older than a threshold age. A capacity occupied by the object may be reclaimed based upon, at least in part, determining that the object is an orphan and determining that the object is older than the threshold age.


