RAIN Storage Collision Management via Metadata Flags

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional Redundant Array of Independent Nodes (RAIN) storage systems face challenges in managing collisions when different changes are made to data on multiple nodes before synchronization, leading to difficulties in determining how to synchronize data and potentially resulting in automatic collision resolution outcomes that do not align with policy rules or client expectations.

Innovation Solution

A scalable storage system based on the RAIN model with a metadata management layer, replication service, and flexible policy processor that uses a collision flag and predetermined naming convention to identify and manage winners and losers of collisions, allowing clients to verify and correct automatic collision resolution outcomes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If automatic collision resolution is performed using rule-based conflict resolution, then data synchronization can be achieved, but the outcome may not align with policy rules or client expectations

Engineering Contradiction:
Improvedata synchronization efficiencyVSAvoidcollision resolution accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements feedback by notifying clients about collision outcomes and allowing them to verify and correct automatic resolution results. This feedback loop ensures that automatic collision resolution can be monitored and adjusted to match policy rules and client expectations, resolving the contradiction between automation efficiency and resolution accuracy.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system enables clients to self-correct collision resolution outcomes by providing them with the ability to verify and modify automatic resolution results. This self-service mechanism allows clients to ensure that collision outcomes align with their policy rules and expectations while maintaining the efficiency of automatic resolution for standard cases.

Inventive Principle:
Principle #25Self-service

2Reliability

If data is replicated on multiple nodes for high availability, then node failure can be compensated, but collisions occur when different changes are made on multiple nodes before synchronization

Engineering Contradiction:
Improvesystem availabilityVSAvoidcollision management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system extracts collision management as a separate, identifiable process by providing explicit notification to clients about collisions and their resolution outcomes. This separation allows collision management to be handled independently from normal data replication operations, reducing the complexity of managing both simultaneously while maintaining high availability through continued replication.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system introduces an intermediary notification mechanism that mediates between multiple nodes making concurrent changes. By notifying clients about collisions and providing a structured way to manage resolution outcomes, this intermediary simplifies the complex interaction between multiple nodes, making collision management more tractable while preserving the high availability benefits of multi-node replication.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If RAIN systems are delivered as hardware appliances with identical components, then system reliability is improved, but flexibility in managing different storage capabilities is reduced

Engineering Contradiction:
Improvesystem consistencyVSAvoidstorage capability flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system implements universality by designing a collision management mechanism that works across nodes with different storage capabilities. The notification and verification approach is universally applicable regardless of node hardware differences, allowing the system to maintain reliability through consistent management protocols while adapting to diverse storage capabilities through flexible client-side verification and correction.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10831380B2System and method of collision management in a namespace of a storage system
Publication Date: 2020.11.10 HITACHI VANTARA LLC
  • US10831380B2 patent drawing
  • US10831380B2 patent drawing
  • US10831380B2 patent drawing

AI summary

In a namespace distributed across storage devices, collisions of objects stored in the namespace can occur. To manage collisions, first, a collision flag is provided in system metadata of the objects, and second, a predetermined naming convention is applied to the pathnames of collided objects within the namespace. A winner object of a collision is stored with the pathname of the actual object (e.g., “/object”) in the namespace, and the loser object is stored with a pathname derived from the actual object (e.g., “/object.collision”) and the collision flag of the loser object is set to mark the loser object within the namespace. Accordingly, winners and losers of collisions in the namespace can be identified by searching system metadata for collision flags which indicate collision losers, and associated winners can be identified based on the pathname of the losers.