File System Object Versioning With Separate Version Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file system implementations face inefficiencies in representing object versions, leading to complicated object enumeration, increased chapter record sizes, and deeper search depths due to the inclusion of version IDs and metadata for each object version.

Innovation Solution

A tree data structure is used to store object records, with a chapter record containing an object name, a file handle for the current version, and a version table file handle, minimizing additional data for each version, thus maintaining efficient enumeration and search depth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If version IDs and metadata for each object version are included in chapter records, then object versioning support is achieved, but chapter record size increases proportionally with the number of versions

Engineering Contradiction:
Improveobject versioning supportVSAvoidchapter record size
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the version information storage by separating chapter-level metadata from object-level version details. Chapter records contain only essential information (object name, current version file handle, version table file handle), while version-specific metadata is stored separately in version tables, preventing chapter record size from growing with the number of versions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimensional structure by adding version tables as a separate layer beneath chapter records. This hierarchical organization allows version information to be accessed through multiple levels (chapter record → version table), enabling efficient storage where chapter records remain compact while supporting arbitrary numbers of versions.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If version IDs are included in chapter records for each object version, then complete version information is stored, but search depth increases

Engineering Contradiction:
Improveversion information completenessVSAvoidsearch depth
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent extracts version-specific metadata from chapter records and places it in separate version tables. This extraction reduces chapter record complexity and search depth, as the file system only needs to search chapter records for basic object information and selectively access version tables only when version-specific details are required.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If version IDs are stored in chapter records, then object enumeration can be performed, but object enumeration becomes complicated

Engineering Contradiction:
Improveobject enumeration capabilityVSAvoidenumeration complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments enumeration operations into two distinct phases: first, enumerate objects at the chapter level using simplified chapter records; second, if version information is needed, access the version table separately. This segmentation simplifies the primary enumeration process while maintaining the ability to retrieve version information when required.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260064639A1Object versioning support for a file system
Publication Date: 2026.03.05 NETAPP INC
  • US20260064639A1 patent drawing
  • US20260064639A1 patent drawing
  • US20260064639A1 patent drawing

AI summary

Systems and methods for providing a file system with object versioning support are provided. Rather than adding object records for each version of an object to a chapter database, in one example, the chapter database may be limited to a single object record for a given object including: (i) a name of the object; (ii) an object file handle containing information regarding a file containing data of a current version of multiple versions of the object; and (iii) a version table file handle containing information regarding a file containing a version table. In this manner, enumeration of objects associated with a given chapter may be performed more efficiently and prior versions of objects may be maintained separately within the version table without causing disproportionate growth of object records and without increasing the search depth with objects that are not referenced by the search at issue.