Client-Based CAS to File Storage Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Content-addressed storage (CAS) systems face challenges in adopting new storage technology advancements due to limited economies of scale and compatibility issues with general-purpose storage systems, making it difficult to maintain pace with technological developments.
Innovation Solution
A client-based method for migrating data objects from a legacy CAS system to a file-based NAS system using a hierarchical directory structure, allowing for backward compatibility and integration with contemporary storage technologies, while enabling fail-back to the CAS system if needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If data is stored in a CAS system with flat linear namespace, then content-addressed storage functionality is provided, but the system cannot leverage economies of scale and contemporary storage technology advancements
Solution Approach 1:
The patent introduces a mapping layer that sits between the CAS interface and the underlying file-based storage system. This mapping layer translates content addresses into file system paths, allowing the system to use general-purpose file-based storage while maintaining CAS functionality. The intermediary enables adoption of contemporary storage technology without sacrificing content-addressed storage capabilities.
Solution Approach 2:
The patent makes the storage system universal by allowing it to function both as a traditional file-based storage system and as a content-addressed storage system. The same underlying file system can serve multiple purposes: direct file access and CAS operations through the mapping layer. This eliminates the need for specialized CAS hardware and software platforms.
2Ease of operation
If a single directory structure is used in NAS system, then simplicity is maintained, but it violates practical limits of real NAS file systems
Solution Approach 1:
The patent segments the flat CAS namespace into multiple hierarchical directories in the file system. Instead of storing all objects in a single directory, the mapping function distributes objects across multiple subdirectories based on the content address. This segmentation maintains simplicity from the CAS perspective while complying with file system limitations on directory sizes and path lengths.
Solution Approach 2:
The patent transforms the one-dimensional flat CAS namespace into a multi-dimensional hierarchical file system structure. The mapping function adds directory depth as an additional dimension, organizing objects by prefixes of their content addresses. This dimensional transformation allows the system to scale beyond single-directory limits while maintaining the underlying content-addressed organization.
3Productivity
If migration is performed from CAS to file-based storage, then access to modern storage technologies is enabled, but backward compatibility with CAS applications must be maintained
Solution Approach 1:
The mapping layer acts as an intermediary that translates between CAS operations and file system operations. CAS applications continue to use content addresses as before, while the mapping layer handles the translation to file system paths. This intermediary maintains backward compatibility while enabling the use of modern file-based storage technologies for improved performance and scalability.
Data Source
AI summary
A client computer migrates data objects from a first data store employing a flat namespace to a second data store employing a hierarchical directory-based file system. File storing includes (1) generating a data object (for user data file) and an object identifier which is returned to an application for use in retrieving the user data file; (2) mapping the object identifier to originate a subdirectory name; and (3) sending a write request to the file system to create the named subdirectory and store the data object therein. File retrieving includes (4) sending a read request including the object identifier to the first data store; (5) extracting a user data file from a received data object and returning it to the application; and (6) performing the steps of the file storing to store the data object at the second data store, completing the migration of the data object.


