Client-Side Data Deduplication via Local Chunk Caching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems lack efficient mechanisms for client-side deduplication, leading to unnecessary data transmission and storage of duplicate data chunks across network-accessible storage systems.

Innovation Solution

Implementing a custom communications protocol interface at the client device that includes a parser and fingerprinter to identify and manage data chunks, allowing for client-side deduplication by comparing chunk fingerprints with those stored in the networked storage system, and maintaining a chunk cache for efficient data retrieval and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If client devices transmit all data chunks to networked storage systems without local deduplication, then storage availability and accessibility are improved, but data transfer bandwidth and storage space requirements increase significantly

Engineering Contradiction:
Improvestorage availabilityVSAvoidbandwidth usage
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent segments data into fixed-size chunks (e.g., 4KB) and processes them individually through fingerprinting and deduplication. This segmentation allows the system to identify and eliminate duplicate chunks at the client side before transmission, reducing bandwidth usage while maintaining complete data availability at the storage system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by performing fingerprint generation and duplicate detection at the client device before data transmission. The client computes fingerprints for data chunks locally, compares them against stored fingerprints, and only transmits non-duplicate chunks to the networked storage system, thereby reducing unnecessary data transfer.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If client devices perform local chunk caching and fingerprinting, then data transfer efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidclient device complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses fingerprint copies (hash values) instead of copying entire data chunks for comparison and storage. By storing only the compact fingerprint representations in the local cache rather than the full data chunks, the system achieves efficient duplicate detection with minimal impact on client device storage resources and complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces fingerprinting as an intermediary mechanism between the data and the deduplication decision. The fingerprint serves as a mediator that enables efficient comparison and identification of duplicate chunks without requiring the client to store or process the entire data content, thus improving efficiency with controlled complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If the system stores only one copy of duplicate data chunks, then storage space utilization is improved, but data retrieval time may increase without local cache

Engineering Contradiction:
Improvestorage space utilizationVSAvoiddata retrieval time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-computing and storing fingerprints of data chunks in the client's local cache before actual data retrieval is needed. When data is requested, the system first checks the local cache for matching fingerprints, enabling rapid identification of duplicates without accessing the networked storage system, thus reducing retrieval time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The local fingerprint cache acts as an intermediary between the client and the networked storage system. It provides fast local lookup for duplicate detection without requiring network round-trips, thereby reducing data retrieval time while the networked storage system maintains space-efficient single-copy storage of actual data chunks.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10459886B2Client-side deduplication with local chunk caching
Publication Date: 2019.10.29 QUEST SOFTWARE INC
  • US10459886B2 patent drawing
  • US10459886B2 patent drawing
  • US10459886B2 patent drawing

AI summary

Techniques and mechanisms described herein facilitate the transmission of a data stream from a client device to a networked storage system. According to various embodiments, a fingerprint for a data chunk may be identified by applying a hash function to the data chunk via a processor. The data chunk may be determined by parsing a data stream at the client device. A determination may be made as to whether the data chunk is stored in a chunk file repository at the client device. A block map update request message including information for updating a block map may be transmitted to a networked storage system via a network. The block map may identify a designated memory location at which the chunk is stored at the networked storage system.