Flip Task Insertion for Data Stream Failover

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems face challenges in efficiently and consistently failing over between data replicas due to manual processes, leading to inconsistencies and significant delays in data access, especially when multiple nodes need to transition to a new replica during events like schema changes or maintenance.

Innovation Solution

A platform is implemented that automatically inserts a 'flip task' into the primary database to facilitate seamless failover between replicas, ensuring all nodes transition to the same relative position in the event stream, thereby reducing the time required for failover from hours to minutes and maintaining data consistency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual failover processes are used between replicas, then nodes can transition to a new replica, but the process requires multiple manual steps and causes significant delays in data access

Engineering Contradiction:
Improvefailover capabilityVSAvoiddata access delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system pre-establishes replica connections and maintains task table mappings in advance. When failover is needed, nodes already have the necessary connection information and can switch replicas by simply updating their task table reference, eliminating the need for manual connection setup and reducing failover time from hours to minutes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Nodes automatically manage their own failover by monitoring task table updates and independently switching to new replica connections when needed. The system self-coordinates the failover process without requiring manual intervention, with nodes autonomously updating their connection states and resuming data propagation.

Inventive Principle:
Principle #25Self-service

2Reliability

If manual failover processes are used between replicas, then nodes can transition to a new replica, but inconsistencies occur across different nodes during the transition

Engineering Contradiction:
Improvefailover capabilityVSAvoiddata consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The system implements a centralized coordination mechanism that monitors failover progress across all nodes. Task table updates serve as feedback signals that trigger synchronized failover actions. When one node detects a failover event through task table changes, it notifies the coordination system, which then ensures all nodes receive consistent failover instructions and execute the transition uniformly.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system pre-distributes replica connection information to all nodes before failover is needed. Task tables contain pre-configured mappings to multiple replicas, so when failover occurs, all nodes already have the necessary connection details and can switch simultaneously, preventing inconsistencies that would arise from sequential or staggered failover execution.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If automated failover is implemented using flip tasks, then all nodes can transition to the same relative position in the event stream, but the system complexity increases

Engineering Contradiction:
Improvefailover timeVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system introduces task tables as intermediary structures that mediate between replicas and nodes. Instead of nodes directly managing complex failover logic, the task table serves as an intermediary that encodes failover instructions and relative position information. Nodes simply follow task table directives, which abstracts the complexity of coordinated failover into a manageable format.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system uses parameter encoding in task tables to convey failover information efficiently. Relative positions in the event stream are represented as changeable parameters within task table entries. When failover occurs, the system modifies these parameters to reflect new replica assignments and positions, allowing automated coordination without requiring complex state management logic in each node.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11620194B1Managing failover between data streams
Publication Date: 2023.04.04 AMAZON TECH INC
  • US11620194B1 patent drawing
  • US11620194B1 patent drawing
  • US11620194B1 patent drawing

AI summary

Features are disclosed for managing multiple hosts that stream sequential data to nodes for propagation. The hosts can include a primary host and a failover host that each store a replica of the sequential data. A computing device can monitor the hosts and identify the occurrence of a failover event for the primary host. For example, the computing device may determine the schema has been modified. The computing device can further determine to failover to the failover host based on the failover event. The computing device can insert a flip task into the stream of sequential data for the primary host. The insertion of the flip task may be automatic. Further, each node reading from the stream of sequential data for the primary host may encounter the flip task and failover to the failover host at the same logical position but a different absolute position.