Bidirectional Flow Ownership in High-Availability Network Pairs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional configurations of high availability network device pairs result in duplication of effort as both devices process packets associated with a given flow, leading to processing inefficiencies and potential issues with insufficient data handling for bidirectional traffic.

Innovation Solution

Implement a method and system to assign each flow to a single high availability network device within a pair, maintaining pre-assigned or dynamically determined ownership, using mechanisms like VRRP, load balancing, or hash functions to ensure efficient processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If both high availability network devices process packets associated with a given flow, then fault tolerance and load distribution are achieved, but processing duplication and inefficiency occur

Engineering Contradiction:
Improvefault toleranceVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the flow processing responsibility by dividing bidirectional traffic into forward direction packets and reverse direction packets. Each direction is assigned to a specific network device based on ownership determination, preventing both devices from processing the same flow simultaneously. This segmentation resolves the contradiction by maintaining reliability through device pairing while eliminating processing duplication through directional assignment.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by making each network device have different processing roles for different packet directions. The owning device processes forward direction packets while the non-owning device processes reverse direction packets. This localized differentiation allows both devices to contribute to fault tolerance while each processes unique packets, eliminating the processing inefficiency caused by both devices handling all packets.

Inventive Principle:
Principle #3Local quality

2Productivity

If both high availability network devices process packets independently, then load distribution is achieved, but insufficient data handling occurs for bidirectional traffic

Engineering Contradiction:
Improveload distributionVSAvoidinsufficient data handling
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

The patent merges the processing responsibilities for bidirectional traffic by establishing flow ownership where a single device owns the complete bidirectional flow. The owning device processes both forward and reverse direction packets after determining ownership, ensuring all related packets are handled with complete context. This merging maintains load distribution across device pairs while preventing data loss by ensuring consistent handling of bidirectional traffic.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent applies preliminary action by performing ownership determination before packet processing. The network device determines whether it is the owning device for a given flow before processing packets. This preliminary classification ensures that subsequent packet handling is efficient and complete, as the owning device is pre-designated to handle all packets for that flow, preventing insufficient data handling.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If flow ownership is dynamically assigned, then processing optimization is achieved, but device complexity increases

Engineering Contradiction:
Improveprocessing optimizationVSAvoidownership management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing ownership determination at the flow establishment stage before actual packet processing begins. The network device determines ownership based on packet direction (forward or reverse) and establishes this assignment upfront. This preliminary classification simplifies subsequent processing by eliminating the need for continuous complex decisions, as the owning device is predetermined for each flow.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements self-service through automated ownership determination mechanisms that operate without manual intervention. The network devices automatically determine flow ownership based on predefined criteria such as packet direction and device identifiers. This automation reduces the operational complexity of managing flow assignments while maintaining processing optimization, as the system self-manages the ownership distribution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP4473718B1Mechanism to manage bidirectional traffic for high availability network devices
Publication Date: 2025.11.26 ARISTA NETWORKS INC
  • EP4473718B1 patent drawingFigure 1A
  • EP4473718B1 patent drawingFigure 1B
  • EP4473718B1 patent drawingFigure 2

AI summary

A method for obtaining, by a first network device of a pair of network devices, a packet, wherein the packet specifies a source address corresponding to a first client device and a destination address corresponding to a second client device, making a first determination, by the first network device and using the source address and the destination address, that the first network device is not an owner of bidirectional traffic associated with the packet, based on the first determination, transmitting, by the first network device, the packet to a second network device of the pair of network devices, making a second determination, by the second network device, that the second network device is the owner of bidirectional traffic associated with the packet, performing, in response to the second determination and by the second network device, data processing on the packet to generate a processing result.