Storage Pool Index for Concurrent Virtual File System Serving

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face challenges in concurrently serving client requests for multiple virtual file systems (VFS) with identical VFS identifiers, leading to inconsistencies and inability to mount all mirrors simultaneously, which hinders transparent and up-to-date data access.

Innovation Solution

The technique involves using a data frame descriptor with a storage pool index value to differentiate among VFS mirrors with identical VFS IDs by selecting the most recently modified mirror for read requests and uniquely identifying the appropriate storage pool for data updates, ensuring transparent client access and maintaining data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If multiple VFS mirrors with identical VFS IDs are served by the same storage system, then data availability and access transparency are improved, but the system cannot concurrently serve all mirrors due to identifier conflicts

Engineering Contradiction:
Improvedata availabilityVSAvoidconcurrent mounting capability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces a storage pool identifier as an intermediary element that mediates between the VFS identifier (which is identical across mirrors) and the actual storage location. This intermediary allows the system to distinguish between multiple VFS mirrors with the same VFS ID by combining it with the storage pool ID, enabling concurrent mounting and serving of all mirrors while maintaining data availability.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of information

If the storage system selects a single VFS mirror to serve, then identifier conflicts are avoided, but clients cannot access the most up-to-date data from all mirrors simultaneously

Engineering Contradiction:
Improvedata consistencyVSAvoiddata access delay
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent adds another dimension to the identification system by introducing the storage pool identifier alongside the VFS identifier. This dimensional expansion allows the system to track and serve data from multiple mirrors concurrently, ensuring clients receive the most up-to-date data without the delays associated with single-mirror selection.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Ease of operation

If all VFS mirrors are mounted simultaneously, then data access transparency is improved, but the system lacks the capability to differentiate among mirrors with identical IDs

Engineering Contradiction:
Improvemounting capabilityVSAvoididentifier differentiation
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent segments the identification process into two distinct parts: the VFS identifier (which remains identical across mirrors) and the storage pool identifier (which is unique to each mirror's location). This segmentation allows the system to maintain simple VFS identifiers while adding differentiation capability through the storage pool identifier, enabling simultaneous mounting of all mirrors without increasing overall system complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9165003B1Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system
Publication Date: 2015.10.20 NETAPP INC
  • US9165003B1 patent drawing
  • US9165003B1 patent drawing
  • US9165003B1 patent drawing

AI summary

A technique for permitting multiple virtual file system having the same VFS identifier to be served by a single storage system. A data frame descriptor data structure is modified to include a storage pool index value that indexes into a storage pool array to identify a storage pool descriptor. The storage pool (SP) descriptor includes a SP ID, which is used in conjunction with a VFS ID to uniquely identify the VFS to which dirtied data is to be written.