Distributed Coordinated Snapshots via Ambiguity Mode

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, generating snapshots can result in inconsistent data due to servers capturing changes at different times, leading to potential data loss if a server malfunctions, as existing methods do not ensure that all earlier changes are captured before a snapshot is taken.

Innovation Solution

The method involves transmitting an ambiguity mode command to each server to delay acknowledgement of barrier operations, followed by a snapshot command to generate a crash-consistent snapshot, and then reverting to normal mode to acknowledge operations, ensuring that all changes are captured before the snapshot is finalized.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If snapshots are generated by transmitting commands to each server independently, then the snapshot generation process is simple and fast, but the snapshots become inconsistent as different servers capture changes at different times

Engineering Contradiction:
Improvesnapshot generation speedVSAvoidsnapshot consistency
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The system performs preliminary actions by transmitting ambiguity mode commands to all servers before the actual snapshot command. This preliminary step puts servers into a state where they delay barrier operation acknowledgments, ensuring that when the snapshot is taken, all servers are synchronized and will capture changes atomically across the distributed system.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (ambiguity mode) that mediates between independent server operations and coordinated snapshot requirements. This intermediary state allows servers to temporarily suspend normal acknowledgment behavior, enabling the snapshot command to capture a consistent state across all servers without requiring complex inter-server communication during the actual snapshot moment.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If servers acknowledge barrier operations immediately, then system responsiveness is high, but crash consistency cannot be guaranteed as changes may be captured at different times

Engineering Contradiction:
Improvesystem responsivenessVSAvoidcrash consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system dynamically changes server behavior based on operational phase. During normal operation, servers acknowledge barrier operations immediately for high responsiveness. During snapshot operations, servers transition to ambiguity mode where they delay acknowledgments, then return to normal behavior after the snapshot. This dynamic adaptation allows the system to maintain high responsiveness while ensuring crash consistency when needed.

Inventive Principle:
Principle #15Dynamics

3Reliability

If all servers are synchronized to capture changes at the same time, then crash consistency is achieved, but the complexity of coordinating multiple servers increases

Engineering Contradiction:
Improvecrash consistencyVSAvoidcoordination complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The ambiguity mode serves as an intermediary mechanism that simplifies coordination complexity. Instead of requiring complex inter-server communication and synchronization protocols, the system uses a simple state transition (entering and exiting ambiguity mode) that can be triggered by a single coordinator server. This intermediary approach achieves crash consistency while keeping coordination logic relatively simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary coordination by transmitting ambiguity mode commands to all servers before the snapshot. This preliminary action establishes a synchronized state across all servers, simplifying the actual snapshot operation. The coordination complexity is front-loaded in the preliminary phase, allowing the critical snapshot moment to be simple and atomic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9979783B2Distributed coordinated snapshots
Publication Date: 2018.05.22 RED HAT INC
  • US9979783B2 patent drawing
  • US9979783B2 patent drawing
  • US9979783B2 patent drawing

AI summary

A management process coordinates a number of servers to create a crash-consistent distributed snapshot. The management process instructs the servers to enter an ambiguity mode in which acknowledgement of barrier operations is delayed, instructs the servers to generate portion snapshots, and instructs the servers to exit the ambiguity mode and acknowledge barrier operations.