Garbage Collector Orphan Detection via Dual Journals

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvedetection accuracy of orphaned BLOBsVSAvoidcapacity wastage and data loss
Core Design Contradiction:
ReliabilityVSLoss of substance

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedetection reliability of orphaned BLOBsVSAvoidcomplexity of journal maintenance and reference tracking
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoiddata integrity during reclamation
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10996884B2System and method for reference tracking garbage collector
Publication Date: 2021.05.04 EMC IP HLDG CO LLC
  • US10996884B2 patent drawing
  • US10996884B2 patent drawing
  • US10996884B2 patent drawing

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.