Storage Versioning via Key Map Timestamp Resolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current storage systems lack support for version-aware operations beyond simple backup and recovery, failing to provide adequate access and control over multiple versions of files, which limits their utility in advanced use cases.
Innovation Solution
The implementation of a storage system that allows for selective enabling or suspending of versioning, enabling users to store, retrieve, and manage multiple versions of data objects with unique keys and version identifiers, providing advanced control and protection against accidental overwrites and deletions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If storage systems store multiple versions of files, then version control capability is improved, but system complexity increases
Solution Approach 1:
The patent segments version management into distinct components: version metadata is separated from file data, and version control operations are isolated from core storage operations. This allows the system to support multiple versions without fundamentally restructuring the entire storage system, thereby improving version control capability while limiting complexity growth.
Solution Approach 2:
The patent introduces an intermediary layer (version control module/API) that mediates between users and the underlying storage system. This intermediary handles version-aware operations such as retrieving specific versions, comparing versions, and managing version lifecycles, allowing complex version control functionality to be added without increasing the complexity of the core storage system.
2Adaptability or versatility
If storage systems provide comprehensive version-aware operations, then functionality is improved, but performance decreases
Solution Approach 1:
The patent performs preliminary actions by pre-computing and caching version metadata, including version identifiers, timestamps, and relationships between versions. This allows the system to quickly determine the latest version and perform version-aware operations without repeatedly analyzing the entire version history, thereby maintaining high performance while providing comprehensive version functionality.
Solution Approach 2:
The patent creates lightweight copies of version metadata rather than duplicating entire file versions. The system maintains references to version information and only copies actual file data when explicitly requested, allowing comprehensive version-aware operations to be performed with minimal performance impact.
3Reliability
If storage systems support multiple file versions, then data recovery capability is improved, but storage space consumption increases
Solution Approach 1:
The patent merges multiple versions of the same file into a single storage location when possible, using content-addressable storage or deduplication techniques. Instead of storing separate physical copies of identical or similar file versions, the system stores one copy and maintains metadata references to indicate which versions exist, thereby improving data recovery capability while minimizing additional storage space consumption.
Solution Approach 2:
The patent implements automated version lifecycle management that discards obsolete versions based on configurable retention policies. The system automatically identifies and removes old versions that are no longer needed for recovery, while maintaining recent versions that are likely to be needed. This balance allows the system to provide data recovery capability without permanently consuming excessive storage space.
Data Source
AI summary
Systems and methods that provide versioning in a storage system may automatically determine the latest version of a stored object when a version identifier is not specified for an access operation. For example, retrieve type operations may behave differently when they specify a version identifier than when they do not. The system may determine and fill in the version identifier of the latest stored version of an object having a specified key for a retrieve type operation if a version identifier is not specified. Key map elements representing each object stored in the system may include an indication of the time at which the object was created or modified. The latest version of an object may be ascertained by locating the first element among ordered elements in the key map with the specified user key, or an adjacent element with the specified key that has a more recent creation/modification date.


