File System Object Versioning with Separate Version Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing file systems face inefficiencies in managing multiple versions of objects due to complications in object enumeration, increased chapter record size, and heightened search depth when version IDs are included in object records.

Innovation Solution

A tree data structure is used to store object versions, where each object record includes an object name, a current version file handle, and a version table file handle, with version IDs stored in a separate version table, allowing efficient enumeration and minimizing chapter record growth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If version IDs are included in object records, then object versioning is supported, but chapter record size increases

Engineering Contradiction:
Improveobject versioning supportVSAvoidchapter record size
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The patent segments the version information storage by introducing a separate version table that is distinct from the chapter record. The version table stores version IDs and associated metadata, while the chapter record maintains only the object name and current version reference. This segmentation allows versioning functionality to be added without expanding the chapter record structure, resolving the contradiction between supporting multiple versions and maintaining compact record size.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts version identification and management functionality from the object record itself and places it in a dedicated version table. By taking out the version tracking mechanism from the chapter record, the system achieves object versioning support while keeping the chapter record size minimal, as only essential object information remains in the chapter record.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If version IDs are included in object records, then object versioning is supported, but search depth increases

Engineering Contradiction:
Improveobject versioning supportVSAvoidsearch depth
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a version table as an intermediary structure between the chapter record and the actual object versions. This intermediary layer manages version relationships and enables efficient retrieval of previous versions without increasing the search depth within the chapter record itself. The version table acts as a mediator that simplifies the versioning mechanism while maintaining efficient search operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If multiple versions of objects are stored, then object restoration capability is improved, but enumeration efficiency decreases

Engineering Contradiction:
Improveobject restoration capabilityVSAvoidenumeration efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the storage structure into chapter records for current object information and a separate version table for historical versions. This segmentation allows the file system to maintain efficient enumeration by querying only the chapter record for current objects, while previous versions are accessed through the version table only when needed for restoration, thus preserving both reliability and productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies partial action by storing only the necessary version information (version IDs and references) in the version table rather than duplicating entire object data for each version. This partial storage approach enables object restoration capability while minimizing the overhead that would otherwise reduce enumeration efficiency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12468666B2Object versioning support for a file system
Publication Date: 2025.11.11 NETAPP INC
  • US12468666B2 patent drawing
  • US12468666B2 patent drawing
  • US12468666B2 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.