Distributed Storage System with Namespace Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing distributed file systems face challenges in scalability, performance degradation due to locking and caching overhead, and inability to efficiently handle multiple APIs, leading to limitations in scaling and compatibility with different protocols.
Innovation Solution
A distributed storage system comprising storage nodes (DNodes) and compute nodes (CNodes), where DNodes store persistent metadata structures with pointers and CNodes translate access commands to manage data access across nodes, enabling scalable and protocol-agnostic data management without caching and with flexible support for new protocols.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If distributed caching and locking is used to manage data access, then data access transparency is improved, but performance degrades due to excessive locking or caching overhead when multiple nodes attempt to access the same data concurrently
Solution Approach 1:
The patent segments the distributed file system into separate namespaces (POSIX namespace and object storage namespace) that can be independently managed. This segmentation allows different access patterns and protocols to coexist without interfering with each other, reducing locking overhead by allowing parallel access to different namespace types.
Solution Approach 2:
The patent introduces an intermediary layer (the distributed file system with multiple namespace support) between the storage backend and access protocols. This intermediary handles protocol translation and namespace management, allowing multiple protocols to access the same underlying data without direct conflicts, thereby improving performance while maintaining transparency.
2Quantity of substance
If sharding is used to divide data among nodes, then storage capacity and scalability are improved, but performance degrades when frequently accessed files on a node result in the node being overwhelmed
Solution Approach 1:
The patent implements dynamic namespace management where the system can adaptively route access requests based on current node load and access patterns. Frequently accessed files can be dynamically redirected to different nodes or handled with optimized caching strategies, preventing any single node from being overwhelmed while maintaining the scalability benefits of sharding.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the system by implementing namespace-specific access policies. Hot files in the POSIX namespace can be handled with aggressive caching and load balancing, while cold files use standard sharding, optimizing performance for each category without compromising overall storage capacity.
3Device complexity
If the system is designed to support a single type of API for data access, then system simplicity is improved, but adaptability deteriorates when additional APIs are added
Solution Approach 1:
The patent implements a universal distributed file system architecture that natively supports multiple protocols and namespaces. The system can simultaneously handle POSIX file access, S3 object storage, and other protocols through a unified kernel module that translates various protocol requests into internal operations, maintaining system simplicity while achieving multi-protocol compatibility without requiring separate protocol servers.
4Adaptability or versatility
If protocol servers are added to support additional protocols like S3, then protocol compatibility is improved, but system complexity and performance overhead increase due to reading the entire directory and sorting file names
Solution Approach 1:
The patent extracts the protocol-specific processing logic from separate protocol servers and integrates it directly into the distributed file system kernel. By taking out the directory reading and sorting operations from external protocol servers and implementing them as native namespace operations, the system reduces complexity while maintaining protocol compatibility, as the operations are now performed within the existing file system infrastructure rather than requiring additional external components.
Data Source
AI summary
A storage system. The storage system includes a plurality of storage nodes (DNodes), wherein the DNodes are configured to store a plurality of elements and a plurality of data blocks, wherein each element is a persistent metadata structure, wherein at least one of the elements store at least one attribute, wherein the at least one attribute includes a plurality of pointers, wherein at least one of the data blocks is stored in at least one of the elements when the at least one of the data blocks has a size below a threshold size; and a plurality of compute nodes (CNodes), wherein each CNode has access to each of the DNodes, wherein each CNode is configured to receive an access command and to execute the access command based on the elements.


