High Availability Node Pairing via Two-Pass Flow Sync

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Networking devices face challenges in synchronizing network flow status data across devices during high availability pairing, leading to potential race conditions and delays in establishing complete synchronization.

Innovation Solution

Implementing a two-pass synchronization method where the control plane performs bulk sync operations and the data plane performs data plane syncing, with the data plane syncing new flows during the first pass and existing flows during the second pass, using bulk sync packets to ensure all flows are synchronized efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single bulk sync operation is performed during high availability pairing, then synchronization simplicity is maintained, but race conditions occur and synchronization completeness deteriorates

Engineering Contradiction:
Improvesynchronization process complexityVSAvoidsynchronization completeness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent divides the synchronization process into two distinct passes: a first bulk sync operation that synchronizes initial flow status data, and a second bulk sync operation that synchronizes any missed updates. This segmentation eliminates race conditions by ensuring that all flow status changes are captured in the appropriate pass, while maintaining clear process boundaries that prevent complexity escalation.

Inventive Principle:
Principle #1Segmentation

2Speed

If data plane syncing is performed continuously, then synchronization speed is improved, but connection stability deteriorates due to drops during pairing

Engineering Contradiction:
Improvesynchronization speedVSAvoidconnection stability
Core Design Contradiction:
SpeedVSStability of the object's composition

Solution Approach 1:

The patent performs preliminary synchronization actions during the two bulk sync passes before normal data plane syncing resumes. The first bulk sync operation pre-synchronizes all existing flow status data, and the second bulk sync operation pre-synchronizes any updates that occurred during the first pass. This preliminary action ensures that when the connection becomes stable, both devices are already synchronized, allowing rapid resumption of continuous syncing without connection drops.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If bulk sync operations synchronize all flows, then synchronization completeness is improved, but processing time increases

Engineering Contradiction:
Improvesynchronization completenessVSAvoidsynchronization time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by having the first bulk sync operation synchronize only the flows that exist at that moment, and the second bulk sync operation synchronize only the flows that changed during the first pass. This avoids the excessive action of synchronizing all possible flows in a single operation, reducing total processing time while ensuring complete synchronization coverage across both passes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12052092B1Systems and methods for high availability node pairing without incurring connection drops
Publication Date: 2024.07.30 PENSANDO SYSTEMS INC
  • US12052092B1 patent drawing
  • US12052092B1 patent drawing
  • US12052092B1 patent drawing

AI summary

HA peers can include networking devices that have data planes and control planes that configure the data plane to use status data in a memory for processing network packets of network flows. The HA peers synchronize the status data such that one peer can take over when another fails. When a HA peer is brought up, data plane syncing synchronizes data for new network flows but not existing network flows. A first bulk sync operation synchronizes data for existing flows but not for new flows. A second bulk sync operation can synchronize the data for flows that changed state during the first bulk sync operation. Data plane syncing can sync data for all flows after the first bulk sync operation.