Virtual Portal Groups for Distributed Storage Path Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face challenges in enabling concurrent access over multiple paths for clients without a distributed storage client, leading to issues like data corruption and loss due to inherent race conditions in standardized storage export technologies.

Innovation Solution

The technology allows a subset of nodes in a distributed storage system to function as storage gateways, providing multiple paths for clients to access data by virtualizing portal groups, which are then transmitted to clients to select the best network portals based on characteristics like bandwidth and latency, enhancing load distribution and fault tolerance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If standardized storage export technology is used to enable clients without distributed storage client to access data, then accessibility is improved, but data corruption and loss occur due to race conditions

Engineering Contradiction:
ImproveaccessibilityVSAvoiddata integrity
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A gateway node is introduced as an intermediary between clients without distributed storage client and the distributed storage system. The gateway node receives I/O requests from external clients, translates them into distributed storage operations, and manages concurrent access to prevent race conditions. This intermediary layer enables standardized storage export technology to work reliably by bridging the gap between external clients and the distributed storage architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple paths are provided for concurrent access, then performance and fault tolerance are improved, but race conditions cause data corruption

Engineering Contradiction:
Improveconcurrent access performanceVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The gateway node implements feedback mechanisms to monitor and coordinate concurrent I/O operations across multiple paths. It tracks the state of distributed storage resources and dynamically adjusts request routing to prevent race conditions. The feedback loop ensures that concurrent access maintains data consistency while maximizing throughput and fault tolerance.

Inventive Principle:
Principle #23Feedback

3Productivity

If virtual portal groups are transmitted to clients for path selection, then load distribution is improved, but system complexity increases

Engineering Contradiction:
Improveload distributionVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system segments the portal group information into virtual portal groups that are transmitted to clients. Each virtual portal group represents a subset of available paths with specific characteristics. This segmentation allows clients to make informed path selection decisions based on their needs, distributing load across multiple paths while keeping the complexity management distributed rather than centralized.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11366727B2Distributed storage access using virtual target portal groups
Publication Date: 2022.06.21 RED HAT INC
  • US11366727B2 patent drawing
  • US11366727B2 patent drawing
  • US11366727B2 patent drawing

AI summary

A method disclosed herein may include receiving a portal group from a node of a distributed storage system, the portal group comprising a plurality of network portals for accessing a storage unit, and transmitting data of the portal group to a first client and to a second client, wherein data transmitted to the first client and data transmitted to the second client each identify the plurality of network portals and indicate a different preferred network portal. The method may further include receiving a request from the first client to initiate a storage session that uses one of the plurality of network portals, establishing the storage session, wherein the storage session comprises multiple paths to the storage unit over at least two of the plurality of network portals, and providing data of the storage unit to the first client using the storage session.