Flow Collision Avoidance via Dynamic Port Perturbation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flow-based hashing in networks can lead to flow collisions, causing network congestion and packet drops due to persistent routing of flows through overburdened routes, even when overall network contention is low, and this issue is exacerbated in overlay networks where multiple flows are aggregated into fewer substrate flows.

Innovation Solution

Changing one or more port numbers defining the flow to alter the hashing result, detecting network congestion through monitoring, and perturbing flow identification information to redistribute flows across different routes, thereby avoiding flow collisions and optimizing network performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flow-based hashing is used to maintain in-order delivery, then packet delivery order is improved, but network congestion occurs due to persistent routing through overburdened routes

Engineering Contradiction:
Improvein-order packet deliveryVSAvoidnetwork performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic flow identification information that can change over time. Instead of persistent hashing, the system periodically changes flow identification information (such as source port numbers) to redistribute flows across different routes. This dynamic approach prevents any single route from being permanently overloaded while maintaining in-order delivery within each flow cohort, resolving the contradiction between delivery reliability and network productivity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes flow identification parameters (specifically source port numbers or other header fields used for hashing) to alter hashing results and redistribute traffic. By modifying these parameters periodically or in response to congestion detection, the system redirects flows from overburdened routes to underutilized routes, thereby improving overall network performance while maintaining the in-order delivery guarantee through controlled parameter changes.

Inventive Principle:
Principle #35Parameter changes

2Stability of the object's composition

If flows are persistently routed through the same route, then in-order delivery is maintained, but flow collisions cause congestion on overburdened routes

Engineering Contradiction:
Improveflow routing consistencyVSAvoidnetwork congestion
Core Design Contradiction:
Stability of the object's compositionVSObject-affected harmful factors

Solution Approach 1:

The patent implements periodic changes to flow identification information rather than persistent routing. By systematically changing flow identifiers at intervals (or in response to congestion detection), the system redistributes flows across different routes over time. This periodic action maintains routing consistency within each period while preventing long-term congestion on any single route, resolving the contradiction between stability and harmful congestion effects.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent incorporates feedback mechanisms that monitor network conditions (such as congestion levels on different routes) and use this information to dynamically adjust flow identification information. When congestion is detected on a particular route, the system modifies flow identifiers to redirect affected flows to alternative routes, thereby eliminating the harmful congestion effect while maintaining adequate routing consistency for in-order delivery.

Inventive Principle:
Principle #23Feedback

3Productivity

If flow identification information is changed to avoid congestion, then network performance is improved, but packet delivery order may be disrupted

Engineering Contradiction:
Improvenetwork performanceVSAvoidin-order packet delivery
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent introduces an intermediary mechanism (such as flow cookies or sequence numbering) that tracks packets across flow identification changes. When flow identifiers are modified to avoid congestion, this intermediary structure ensures that packets can be properly correlated and reassembled in order at the destination. The intermediary maintains the logical flow identity even as the hashing-based flow identification changes, thereby improving network performance without sacrificing delivery order reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10182010B1Flow collision avoidance
Publication Date: 2019.01.15 AMAZON TECH INC
  • US10182010B1 patent drawing
  • US10182010B1 patent drawing
  • US10182010B1 patent drawing

AI summary

Disclosed are various embodiments for avoiding flow collisions in networks employing flow-based hashing to assign flows to routes. A flow of packets is sent from a source endpoint to a destination endpoint by way of a network. The flow is associated with flow identification information including, for example, a source port, a source network address, a destination port, and a destination address. It is determined whether to perturb the flow identification information for the flow to avoid flow collisions caused by flow-based hashing performed in the network. A state associated with the flow is updated to effect a perturbation to the flow identification information for the flow if the flow identification information for the flow is to be perturbed.