Network Interface Card Data Distribution via Inverse Hash

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for distributing data in multi-core systems waste payload space by adding core information to packets and limit the general usability of network interface cards (NICs) by using them only for recognizing specific core information.

Innovation Solution

A method and device that utilize the header area of data packets to include information for directing data to specific cores in a server, employing a hash function to determine the appropriate core and queue for processing, thereby optimizing data distribution and enhancing NIC usability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If core information is added to the payload area of a packet, then a specific core can process the requested data, but the payload area is wasted

Engineering Contradiction:
Improvedata processing efficiencyVSAvoidpayload space waste
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The packet structure is segmented into header area and payload area, with core identification information placed in the header area (specifically in fields such as source port, destination port, or protocol type) rather than the payload area. This segmentation allows the payload to be fully utilized for its intended data transmission purpose while the header carries routing information for core selection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The solution moves the core identification information from one dimension (payload area) to another dimension (header area) of the packet structure. By utilizing fields already present in the header such as source port, destination port, or protocol type, the system achieves core identification without consuming payload space, effectively using a different spatial dimension within the packet.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Productivity

If a specific network interface card driver is used to recognize core information, then the data packet can be directed to the correct core, but the general usability of the network interface card is limited

Engineering Contradiction:
Improvecore-specific data recognitionVSAvoidnetwork interface card usability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The network interface card is designed with multi-functionality, using standard header fields (source port, destination port, protocol type) that serve both traditional networking purposes and core identification purposes. This universal approach allows the NIC to handle various types of traffic while simultaneously providing core-specific routing capabilities without requiring specialized drivers or limiting general usability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system uses existing header fields that are naturally present in all packets to carry core identification information, eliminating the need for additional specialized drivers or modifications to the network interface card. The standard packet handling mechanisms themselves provide the core routing functionality, making the system self-sufficient and maintaining broad NIC compatibility.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP3143738B1Method of distributing data and device supporting the same
Publication Date: 2019.07.03 SAMSUNG ELECTRONICS CO LTD
  • EP3143738B1 patent drawingFigure 1~2
  • EP3143738B1 patent drawingFigure 3a~5
  • EP3143738B1 patent drawingFigure 6~7

AI summary

A method of distributing data, which is performed by a device. The method includes: determining a core and a queue of a network interface card for processing data transmitted from the device, from among a number of cores in a server; determining a source port of the device for transmitting data to the determined core or the determined queue of the network interface card, by using an inverse-hash function of a hash function that is used by the server; and transmitting the data to the server, via the determined source port.