Data Coordinator Invalidation for Distributed Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed systems face challenges in maintaining data consistency due to system failures and the complexity of existing protocols like Two-Phase Commit Protocol, which locks data for extended periods, consumes bandwidth, and is prone to errors.

Innovation Solution

A data coordinator locks a data element, sends an invalidation command to nodes, and updates it only if all nodes acknowledge, ensuring all nodes have the same value by rolling back to the previous value if not all acknowledge, thus maintaining consistency without requiring individual node transactions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but device complexity increases and lock duration increases

Engineering Contradiction:
Improvedata consistencyVSAvoidprotocol complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the coordination logic from individual nodes and concentrates it at a dedicated data coordinator. Each node simply invalidates its local copy upon receiving an update, while the coordinator manages the complex coordination of invalidation commands across all nodes and handles commit/abort decisions centrally.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The data coordinator acts as an intermediary between update requests and node transactions. It receives update requests, sends invalidation commands to all nodes, waits for acknowledgments, and decides whether to commit or abort based on acknowledgment status, thereby mediating the consistency maintenance process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but loss of time increases due to extended locking

Engineering Contradiction:
Improvedata consistencyVSAvoidlock duration
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by having nodes immediately invalidate their local data copies upon receiving the invalidation command, before the final commit decision is made. This preliminary invalidation ensures that nodes are ready to accept new data without requiring them to wait for the entire two-phase commit process to complete.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent skips the traditional two-phase commit process by directly sending invalidation commands to all nodes and waiting only for their acknowledgments. This rushes through the coordination process by eliminating the need for individual node transactions and log-based undo mechanisms.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Reliability

If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but loss of energy increases due to continuous coordination messages

Engineering Contradiction:
Improvedata consistencyVSAvoidbandwidth consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent extracts the coordination overhead from continuous two-phase commit messages and concentrates it into a single invalidation command phase. Nodes only communicate with the coordinator during the invalidation acknowledgment phase, eliminating continuous coordination traffic throughout the entire update process.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses periodic action by having nodes check for updates only when needed (upon read requests) rather than maintaining continuous communication. The invalidation command is sent once to all nodes, and they periodically refresh their data on demand, reducing overall bandwidth consumption.

Inventive Principle:
Principle #19Periodic action

4Reliability

If the Two-Phase Commit Protocol is used to maintain data consistency, then data consistency is improved, but ease of operation deteriorates due to error susceptibility

Engineering Contradiction:
Improvedata consistencyVSAvoiderror susceptibility
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies self-service by having nodes automatically invalidate their own local copies upon receiving the invalidation command, without requiring complex transaction logging or manual coordination. The nodes autonomously respond to invalidation commands and manage their own data state, reducing the operational complexity and error susceptibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9430541B1Data updates in distributed system with data coherency
Publication Date: 2016.08.30 NETAPP INC
  • US9430541B1 patent drawing
  • US9430541B1 patent drawing
  • US9430541B1 patent drawing

AI summary

Updating data in a distributed system, in which a data coordinator receives a proposed change to a data element, locks the data element, and sends an invalidation command to nodes in the distributed system. If all nodes acknowledge the invalidation command, the data coordinator updates the data element locally and unlocks the data element. If not all nodes acknowledge the invalidation command, the data coordinator terminates the proposed change and unlocks the data element. Each node that invalidated the data element requests the data element. The data coordinator returns its current value. If the value is changed, all nodes request and receive the update. If a node did not invalidate, it will not request an update, but the value will not have changed so all requesting nodes receive the previous value. Thus, all nodes have the same value for the data element and consistency is maintained throughout the system.