Hash Cache Age-Out Selection in Backup Clients
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Content Addressed Storage (CAS) systems, the cache used by backup clients for identifying redundant data can grow unmanageably large if not controlled, leading to inefficiencies in data backup and archiving processes.
Innovation Solution
Implementing a method where the backup client ages out and re-uses root tag vector entries and hash cache entries based on a combination of age and size, by validating entries with the backup server and generating a tag mask to identify and eliminate redundant data, thereby controlling cache growth.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If the backup client maintains a cache of existing hash values to identify redundant data, then data deduplication efficiency is improved, but the cache size grows unmanageably large
Solution Approach 1:
The patent implements an aging out mechanism that discards old hash cache entries and root tag vector entries to make room for new entries. The system tracks the age of entries and selectively removes the oldest entries when the cache reaches a size threshold, thereby controlling cache growth while maintaining deduplication efficiency for recently accessed data.
Solution Approach 2:
The patent introduces dynamic cache management where the cache size is not fixed but adjusts based on the aging out mechanism. The system dynamically removes entries based on their age and the current cache state, allowing the cache to adapt its size to maintain optimal performance while preventing unmanageable growth.
2Reliability
If the cache is allowed to grow without control, then more historical data can be tracked, but network bandwidth usage increases and performance deteriorates
Solution Approach 1:
The system discards old hash cache entries and root tag vector entries that are no longer needed for effective deduplication. By removing these aged entries, the system reduces the amount of data that needs to be transmitted and processed over the network, thereby reducing bandwidth usage while maintaining sufficient tracking capability for recent data.
Solution Approach 2:
The patent extracts and removes old entries from the cache and root tag vector structures. This extraction of unnecessary historical data reduces the overall data volume handled by the system, leading to improved network bandwidth efficiency and reduced processing overhead.
3Reliability
If all hash values are cached to ensure complete data identification, then data integrity is maintained, but cache management becomes complex and unmanageable
Solution Approach 1:
The system discards old hash cache entries and root tag vector entries based on their age. This selective discarding simplifies cache management by automatically removing entries that are less likely to be needed, reducing the complexity of managing large volumes of historical data while maintaining data integrity for recently accessed data.
Solution Approach 2:
The patent implements dynamic cache management where entries are added and removed based on their age and the current cache state. This dynamic approach simplifies cache management by automating the process of adding new entries and removing old entries, reducing the manual or algorithmic complexity of managing the cache structure.
Data Source
AI summary
A backup client de-duplicates backup data sets using a locally stored, memory resonant, root tag vector and hash cache. To create a new backup data set, the client queries a backup server to determine which of the root hashes in the root tag vector are available on the backup server. If one or more are no longer available, the backup server re-uses a root tag vector entry corresponding to one of the no longer available root hashes. If all are available, the client ages out a root hash for re-use based on a combination of age and represented size. Data is de-duplicated by chunking and hashing it and comparing the resulting hashes to hashes in the hash cache. To prevent the hash cache from growing too large, entries in the hash cache are aged out based on a combination of age and size of data represented by the entries.


