Moving Window Deduplication for High-Throughput Distributed Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing key-value storage systems are not designed for deduplication and require high costs and complex processes to manage duplicates, leading to inefficiencies and inconsistencies in high throughput streaming systems.

Innovation Solution

A streaming API that allows for in-line deduplication by maintaining a moving window of insert identifiers in memory, determining duplicates in real-time, and storing deduplication information alongside data, reducing costs and ensuring read-after-write consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If key-value storage systems are used for deduplication, then data can be stored, but storage cost increases and system complexity increases

Engineering Contradiction:
Improvededuplication accuracyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the deduplication function from the key-value storage system and implements it separately using a moving window approach in memory. This separates the storage function from the deduplication function, allowing each to be optimized independently and reducing overall system complexity while maintaining deduplication accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a moving window data structure as an intermediary between the data writing process and the deduplication check. This intermediary structure efficiently tracks recent insert identifiers without requiring complex key-value storage operations, simplifying the system while ensuring reliable deduplication.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If key-value storage systems are used for deduplication, then data can be stored, but storage cost increases

Engineering Contradiction:
Improvededuplication accuracyVSAvoidstorage cost
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent uses a moving window approach that only stores recent insert identifiers for a limited time period. This disposable approach to tracking data eliminates the need for expensive long-term storage of all data in key-value systems, reducing storage costs while maintaining sufficient deduplication accuracy for the operational timeframe.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

Solution Approach 2:

The patent implements a dynamic moving window that automatically adjusts its scope based on the time window parameter. This dynamic structure optimizes storage usage by only retaining data that needs to be tracked for deduplication purposes, reducing overall storage requirements compared to static key-value storage systems.

Inventive Principle:
Principle #15Dynamics

3Reliability

If deduplication happens on read in key-value storage, then existing data can be checked, but read latency increases and throughput decreases

Engineering Contradiction:
Improvededuplication accuracyVSAvoiddata throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent performs deduplication checks in advance during the write operation by checking the moving window before inserting data. This preliminary action ensures that duplicates are identified and handled before they enter the storage system, eliminating the need for expensive read operations to check for duplicates and improving overall throughput.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent makes deduplication a continuous process that occurs automatically during every write operation through the moving window mechanism. This continuous checking during writes eliminates the need for separate read operations to verify duplicates, maintaining continuous productive action throughout the data stream and improving throughput.

Inventive Principle:
Principle #20Continuity of useful action

4Reliability

If data is kept in temporary buffer for deduplication, then deduplication can be performed, but data management complexity increases

Engineering Contradiction:
Improvededuplication accuracyVSAvoiddata management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the data management complexity from the deduplication process by using a simple moving window structure that automatically manages its own contents. This extracted approach handles duplicate detection without requiring complex buffer management services, reducing overall data management complexity while maintaining accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The moving window data structure is self-managing, automatically adding and removing insert identifiers based on the time window parameter without requiring external service intervention. This self-service capability eliminates the need for complex buffer management services and reduces data management complexity while ensuring reliable deduplication.

Inventive Principle:
Principle #25Self-service

5Productivity

If asynchronous add and extract processes are used, then throughput can be improved, but race conditions occur and consistency is lost

Engineering Contradiction:
Improvedata throughputVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs the deduplication check as a preliminary action during the write operation before data is committed. This preliminary checking ensures that consistency is maintained from the start, eliminating race conditions that would occur with asynchronous add and extract processes. The moving window is updated atomically during the write process, ensuring consistent state.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses the moving window structure as a cushioning mechanism that prevents race conditions by providing a controlled, atomic way to track insert identifiers. This beforehand cushioning approach ensures that even with asynchronous operations, the deduplication logic maintains consistent state by checking and updating the moving window in a controlled manner.

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

Data Source

PatentUS12405929B2Moving window data deduplication in distributed storage
Publication Date: 2025.09.02 GOOGLE LLC
  • US12405929B2 patent drawing
  • US12405929B2 patent drawing
  • US12405929B2 patent drawing

AI summary

The present disclosure describes a service which provides primary in-line deduplication. A streaming application program interface (API) may allow for streaming records into a storage system with high throughput and low latency. As part of this process, the API allows user to add identifiers as a field used for data deduplication. The deduplication service keeps a moving window of the identifiers in memory and does in-line deduplication by quickly determining whether data is a duplicate. Keeping only deduplication keys in memory reduces the cost of running the service. Moreover, the real-time nature of the moving window approach allows for storing deduplication information alongside the data and accessing it immediately on read. In this regard, read after write consistency is supported, and costs are reduced.