File System Object Versioning With Separate Version Tables
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
3Ease of operation
If version IDs are stored in chapter records, then object enumeration can be performed, but object enumeration becomes complicated
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.
Data Source
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.


