Flow Selector Classifying Elephant Mice Flows for Network Resource Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data center networks, large-sized flows (elephant flows) can cause congestion and delay, as they transfer more data over a longer duration, but existing solutions often detect these flows only after they have completed, making it ineffective in preventing current delays.

Innovation Solution

Implementing a flow selector that classifies flows into elephant and mice flows using machine-learning algorithms, allowing for real-time network resource selection based on flow characteristics, and assigning weights to network resources to optimize traffic distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If equal cost multi-path routing (ECMP) is used to distribute flows equally across multiple paths, then network resource utilization is improved, but congestion and delay occur on paths carrying larger elephant flows

Engineering Contradiction:
Improvenetwork resource utilizationVSAvoidflow completion time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies local quality by differentiating flow handling based on flow type. Elephant flows (large data transfers) are routed through dedicated paths with higher bandwidth capacity, while mice flows (small data transfers) use standard ECMP paths. This localized optimization ensures that each flow type receives appropriate network resources, preventing congestion on paths carrying elephant flows while maintaining overall network utilization.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the routing parameter from uniform path selection to flow-type-aware path selection. By classifying flows into elephant and mice categories based on characteristics such as data size and duration, the system dynamically adjusts routing decisions. Elephant flows are assigned to paths with sufficient capacity to handle large transfers, while mice flows continue to use load-balanced paths, thereby optimizing both resource utilization and flow completion times.

Inventive Principle:
Principle #35Parameter changes

2Measurement precision

If flow detection is performed after flows complete, then accurate identification of elephant flows is achieved, but real-time prevention of network delay is not possible

Engineering Contradiction:
Improveflow identification accuracyVSAvoidnetwork delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent implements preliminary action by classifying flows into elephant and mice types before they complete their transmission. Using flow classification based on characteristics observed during flow establishment and early transmission phases, the system proactively routes elephant flows through appropriate paths before congestion can occur. This preemptive classification and routing prevents delay rather than detecting it after completion.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system employs feedback mechanisms by continuously monitoring flow characteristics and adjusting routing decisions in real-time. Flow classification information feeds back into the routing logic, enabling dynamic path selection that adapts to current network conditions and flow types, thereby preventing congestion before it impacts performance.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20250119385A1Network resource selection for flows using flow classification
Publication Date: 2025.04.10 VMWARE INC
  • US20250119385A1 patent drawing
  • US20250119385A1 patent drawing
  • US20250119385A1 patent drawing

AI summary

In some embodiments, a method receives a set of packets for a flow and determines a set of features for the flow from the set of packets. A classification of an elephant flow or a mice flow is selected based on the set of features. The classification is selected before assigning the flow to a network resource in a plurality of network resources. The method assigns the flow to a network resource in the plurality of network resources based on the classification for the flow and a set of classifications for flows currently assigned to the plurality of network resources. Then, the method sends the set of packets for the flow using the assigned network resource.