Distributed Storage Object Name Conversion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed storage systems, the inefficiency in storing and retrieving objects arises from the use of temporary object names, which can lead to incorrect initial storage locations, resulting in inefficient lookup and relocation processes.

Innovation Solution

The system employs a method to transform temporary object names into permanent object names using regular expressions, allowing a hash function to be applied to the permanent name for accurate server selection and storage, ensuring objects are stored in the correct location for subsequent retrieval.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a server directory with one-to-one mapping is used to store objects, then the storage location can be determined, but the system requires a lot of data to be maintained and has a single point of failure

Engineering Contradiction:
Improveavailability of object accessVSAvoiddata maintenance complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the object name transformation logic from the storage selection process. By separating the temporary object name handling from the permanent storage location determination, the system eliminates the need for a server directory while maintaining reliable object access through decentralized name resolution

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary name conversion mechanism that transforms temporary object names into permanent object names before storage selection. This intermediary layer resolves the contradiction by enabling decentralized storage location determination without requiring centralized directory maintenance

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If temporary object names are used for storage, then the initial storage request can be processed, but the objects may be stored at incorrect locations resulting in inefficient lookup and relocation

Engineering Contradiction:
Improvestorage operation speedVSAvoidlookup and relocation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by transforming the temporary object name into a permanent object name before the storage selection process. This preliminary name conversion ensures that the object is stored at the correct location from the beginning, eliminating subsequent lookup and relocation operations

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through the name transformation process that uses regular expressions to convert temporary names to permanent names. This feedback mechanism ensures that the storage system receives accurate permanent object names that reflect the correct storage location, preventing misplaced storage

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10963431B2Storing an object in a distributed storage system
Publication Date: 2021.03.30 RED HAT INC
  • US10963431B2 patent drawing
  • US10963431B2 patent drawing
  • US10963431B2 patent drawing

AI summary

A method and system for storing an object in a distributed storage system are provided. An example system includes an object name identifier that receives a request to save an object having an initial object name within a file system space and determines, based on a set of regular expressions, whether the initial object name is a temporary object name. The example system also includes a converter that, when the initial object name is determined to be a temporary object name, transforms, based on the set of regular expressions, the initial object name into a permanent object name. The example system further includes a selector that applies a function to the permanent object name and selects, based on a result of the function applied to the permanent object name, a server of a plurality of servers. The object is sent to the selected server for storage.