Host-Based Data Flow Priority Marking for Switch Resource Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data center networks, determining whether a data flow is an elephant flow or a mouse flow is not completed in time, leading to resource consumption and performance issues, as the switch needs to collect flow-based statistics, which occupies hardware resources and affects bandwidth allocation.

Innovation Solution

A method where a host determines the priority of a data flow and adds it to the data flow before sending it to the switch, allowing the switch to process the data flow based on the assigned priority, thereby eliminating the need for the switch to collect flow-based statistics and preventing elephant flows from occupying mouse flow bandwidth.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the switch collects flow-based statistics to determine elephant flow and mouse flow, then the switch can assign different priorities to ensure mouse flow performance, but this consumes many hardware resources of the switch

Engineering Contradiction:
Improvemouse flow transmission performanceVSAvoidhardware resources consumption
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the flow classification function from the switch and relocates it to the host. The host determines whether each data flow is an elephant flow or mouse flow based on flow identifiers (5-tuple) and historical statistics, then marks the data flow with priority information before sending to the switch. This removes the need for the switch to maintain flow tables and collect statistics, significantly reducing hardware resource consumption while maintaining reliable mouse flow performance.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The host performs flow classification and priority marking in advance, before data flows are transmitted through the switch. By determining flow types and assigning priorities beforehand, the switch only needs to perform simple priority-based forwarding without complex real-time analysis, reducing hardware resource usage while ensuring mouse flow gets appropriate priority treatment.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If the switch determines flow type during transmission, then flow classification can be performed, but the determination is not completed in time and elephant flow has already occupied mouse flow bandwidth

Engineering Contradiction:
Improvebandwidth allocation accuracyVSAvoidflow determination time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The host performs flow classification and priority assignment at the source, before data packets are transmitted through the network. This preliminary action ensures that elephant flow and mouse flow are identified and marked with appropriate priorities before bandwidth allocation decisions are needed, eliminating the time delay associated with real-time switch-based determination and preventing elephant flow from occupying mouse flow bandwidth during the determination process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The host acts as an intermediary that performs flow classification based on flow identifiers and historical statistics, then marks packets with priority information. This intermediary approach allows accurate flow type determination without requiring the switch to perform complex real-time analysis, ensuring timely and accurate bandwidth allocation while reducing the switch's processing burden.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If the switch adds a flow table to distinguish elephant flow and mouse flow, then priority assignment can be performed, but this consumes many hardware resources

Engineering Contradiction:
Improveflow differentiation accuracyVSAvoidflow table hardware resources
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent removes the flow table functionality from the switch and implements it in the host's software. The host maintains flow statistics and performs classification based on flow identifiers, then marks packets with priority information. This extraction eliminates the need for hardware flow tables in the switch, significantly reducing hardware resource consumption while maintaining accurate flow differentiation through software-based classification.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If the switch transmits mouse flow with higher priority first, then mouse flow transmission timeliness is improved, but the switch needs to determine flow type which consumes resources and time

Engineering Contradiction:
Improvemouse flow transmission speedVSAvoidflow determination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The host performs flow classification and priority marking before transmission, so the switch receives already-marked packets and can immediately transmit mouse flow with higher priority without performing complex real-time flow determination. This preliminary action ensures mouse flow transmission timeliness while eliminating the switch's flow determination complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses historical flow statistics maintained by the host to make informed classification decisions. By analyzing past flow patterns and characteristics, the host can accurately predict whether a flow will be elephant or mouse flow, enabling proactive priority assignment that improves mouse flow transmission speed without requiring complex real-time switch-based determination.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3637705B1Data flow processing method and device
Publication Date: 2024.02.14 HUAWEI TECH CO LTD
  • EP3637705B1 patent drawingFigure 1
  • EP3637705B1 patent drawingFigure 2~3
  • EP3637705B1 patent drawingFigure 4~5

AI summary

Embodiments of this application provide a data flow processing method and a device. A host determines a priority corresponding to a first data flow to be sent to a switch, and adds the priority to the first data flow to generate a second data flow that includes the priority. The host sends the second data flow to the switch, so that the switch processes the second data flow according to the priority of the second data flow. A server or a virtual machine assigns a priority to a data flow, and the switch does not need to determine whether the data flow is an elephant flow or a mouse flow, thereby saving hardware resources of the switch. The server or the virtual machine sends the data flow with the priority to the switch, and the switch does not need to determine the priority of the data flow, thereby preventing an elephant flow from occupying bandwidth of a mouse flow, and processing the data flow in a timely manner.