Incremental Snapshot Checksums for Order-Aware Validation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data platforms struggle to determine the consistency of file system snapshots, as checksums do not indicate whether chunks are in the correct order or out of order, leading to potential inconsistencies in snapshot validation.

Innovation Solution

Incrementally generate aggregate checksums for portions of the snapshot by leveraging the data structure of the snapshot, computing checksums for modified chunks and avoiding recomputation for unmodified chunks, and storing these checksums to validate the snapshot.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If checksums are generated for the entire snapshot, then snapshot validation reliability is improved, but computing resources and time requirements increase

Engineering Contradiction:
Improvesnapshot validation reliabilityVSAvoidcomputing resources
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the snapshot into multiple portions or chunks, each with its own checksum. Instead of computing a single checksum for the entire snapshot, the system computes checksums for individual chunks and stores them separately. This segmentation allows the validation process to proceed more efficiently by only processing modified chunks rather than the entire snapshot.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by computing checksums only for modified chunks rather than all chunks in the snapshot. The system tracks which chunks have been modified since the last snapshot and only generates checksums for those specific portions, avoiding the excessive computation that would result from validating the entire snapshot.

Inventive Principle:
Principle #16Partial or excessive action

2Reliability

If checksums are generated for the entire snapshot, then snapshot validation reliability is improved, but processing time increases

Engineering Contradiction:
Improvesnapshot validation reliabilityVSAvoidchecksum processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The snapshot is divided into discrete chunks with individual checksums stored in association with each chunk. This segmentation enables the validation process to focus only on modified chunks, significantly reducing the time required compared to validating the entire snapshot.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by pre-computing and storing checksums for all chunks when creating the snapshot. This preliminary computation eliminates the need to recompute checksums during validation, as the checksums are already available and can be directly compared to detect modifications.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If checksums are generated for the entire snapshot, then snapshot validation reliability is improved, but memory requirements increase

Engineering Contradiction:
Improvesnapshot validation reliabilityVSAvoidmemory requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

Instead of storing a single checksum for the entire snapshot, the system segments the checksum storage by associating individual checksums with individual chunks. This approach reduces memory requirements because only checksums for modified chunks need to be recomputed and stored, rather than maintaining checksums for all chunks in the snapshot.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250265226A1Incrementally determining checksums for a snapshot
Publication Date: 2025.08.21 COHESITY INC
  • US20250265226A1 patent drawing
  • US20250265226A1 patent drawing
  • US20250265226A1 patent drawing

AI summary

Techniques are described for incrementally determining checksums for a snapshot. An example method comprises identifying, by a data platform implemented by a computing system, a plurality of leaf nodes and a plurality of intermediate nodes in tree data corresponding to a snapshot of a storage system at a particular time, wherein the intermediate nodes each comprise one or more pointers identifying one or more of the leaf nodes, and the leaf nodes each include an indication of file system data of the storage system. The method includes determining, by the data platform, a checksum for each of the leaf nodes, determining, by the data platform, a checksum for each intermediate node based on the checksum of the one or more leaf nodes identified by the pointers of the intermediate node; and storing, by the data platform, the checksum for each of the leaf nodes and each of the intermediate nodes.