Synchronized Storage Sequence Number Duplicate Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data synchronization methods face challenges in efficiently identifying and executing non-idempotent operations across mirrored storage nodes, particularly in scenarios where network failures or system crashes lead to duplicate request messages, causing data inconsistencies and potential loss.

Innovation Solution

A monotonically increasing sequence number is maintained for data blocks, allowing operation instructions to be tagged and checked against the existing sequence number on secondary storage nodes, ensuring that non-idempotent operations are executed exactly once by ignoring duplicates and maintaining data synchronization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional data synchronization methods are used without sequence numbers, then the system is simpler to implement, but duplicate operation requests cause data inconsistencies and loss

Engineering Contradiction:
Improvedata consistencyVSAvoidsynchronization mechanism
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent assigns monotonically increasing sequence numbers to data blocks before synchronization operations. This preliminary tagging allows the secondary storage node to identify and execute only unique operations, preventing duplicate applications while maintaining system simplicity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sequence number mechanism provides feedback to the secondary storage node about which operations have already been applied. By comparing incoming operation sequence numbers with stored sequence numbers, the system automatically detects duplicates and prevents data inconsistencies

Inventive Principle:
Principle #23Feedback

2Reliability

If sequence number checking is implemented to prevent duplicate operations, then data integrity is maintained, but additional processing overhead is introduced

Engineering Contradiction:
Improvedata integrityVSAvoidsynchronization speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies sequence number checking selectively to non-idempotent operations rather than all operations. This partial application maintains data integrity for critical operations while minimizing processing overhead for operations that are naturally idempotent

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If all operation requests are processed without filtering duplicates, then processing is faster, but data inconsistencies occur after network failures

Engineering Contradiction:
Improveoperation processing speedVSAvoiddata synchronization
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

By pre-tagging data blocks with monotonically increasing sequence numbers before synchronization, the system enables rapid duplicate detection at the secondary node. This preliminary action allows fast processing of unique operations while automatically filtering duplicates, maintaining both speed and reliability

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9460178B2Synchronized storage system operation
Publication Date: 2016.10.04 QUEST SOFTWARE INC
  • US9460178B2 patent drawing
  • US9460178B2 patent drawing
  • US9460178B2 patent drawing

AI summary

Techniques and mechanisms described herein facilitate the performance of duplicate data block instruction identification. According to various embodiments, a data block update operation message may be received at a communications interface in a secondary storage node. The secondary storage node may be configured to store secondary data mirroring primary data stored on a primary storage node. The primary data and the secondary data may each include a respective plurality of data blocks. The data block update operation message may include a data block update instruction for updating a designated one of the plurality of secondary storage node data blocks. The data block update operation message may include a primary storage node data block sequence number designating an update operation status. When it is determined that the data block update instruction is not a duplicate, the data block update instruction may be performed.