Network Stream Distribution via Deterministic Port Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing device architectures face overload and data loss issues when handling high-speed network streams from industrial cameras, as the Receive Side Scaling (RSS) function distributes workload pseudo-randomly, leading to imbalance and reliability issues with gigabit connections.

Innovation Solution

A method that distributes network streams from cameras to processors or processor cores by generating a deterministic assignment of data packets to specific cores using a UDP port-based system, where a hash value is calculated to map data packets to processor cores, ensuring each core processes a unique connection and avoiding overload.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If RSS function is activated with pseudo-random distribution, then workload distribution across processors is achieved, but processor overload and data loss occur when single connection uses most bandwidth

Engineering Contradiction:
Improveworkload distributionVSAvoidconnection reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent changes the parameter used for workload distribution from pseudo-random hash-based distribution to deterministic port-based distribution. By using UDP port numbers as the distribution key instead of random hashing, the system achieves predictable and controllable workload assignment, preventing the imbalance that occurs with pseudo-random distribution when single connections dominate bandwidth.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback by monitoring which ports are assigned to which processors and adjusting the distribution accordingly. The camera application can control which ports are used and ensure that high-bandwidth connections are distributed to appropriate processors, creating a feedback loop that prevents processor overload while maintaining connection reliability.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If fixed network connection to processor assignment is used, then processor registers do not need constant reloading, but processor overload occurs with high-speed data streams

Engineering Contradiction:
Improveprocessor operation stabilityVSAvoiddata transmission reliability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces dynamics to the fixed assignment model by enabling flexible port-to-processor mapping. Instead of a static fixed assignment, the system allows dynamic configuration where different ports can be assigned to different processors based on the specific data stream characteristics and bandwidth requirements, maintaining stability while preventing overload.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the network connection into multiple UDP ports, allowing different portions of the data stream to be handled by different processors. This segmentation enables high-speed data streams to be distributed across multiple processors rather than overloading a single processor, while maintaining the benefit of stable processor assignment through deterministic port-based routing.

Inventive Principle:
Principle #1Segmentation

3Productivity

If hash algorithm distributes connections pseudo-randomly, then approximate equal work distribution is achieved, but imbalance occurs with high-bandwidth single connections

Engineering Contradiction:
Improvework distribution balanceVSAvoidworkload distribution reliability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent uses port numbers as a copy of connection identity to determine processor assignment. Instead of using the connection's source/destination addresses for hashing, the system copies the port number information and uses it directly for deterministic routing. This copying approach ensures that high-bandwidth connections are consistently routed to the same processor, preventing the imbalance that occurs with pseudo-random distribution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS12105645B2Method for distributing a network stream
Publication Date: 2024.10.01 BALLUFF
  • US12105645B2 patent drawing
  • US12105645B2 patent drawing
  • US12105645B2 patent drawing

AI summary

The invention relates to a method for distributing a network stream from at least one data source to a plurality of processors or processor cores of a computing device. The computing device has a network card which supports the receive side scaling (RSS) function, wherein, when this function is activated, the network card or its device driver generates an RSS indirection table (25) in which there is stored, for each index, the number of a processor or processor core, which will process an incoming data packet assigned to this index, and subsequently the network card calculates a hash value for each incoming data packet and maps the hash value to an index in precisely this table, wherein the hash value is formed via the combination of source and destination IP addresses and ports and is thus static for the duration of the connection. The method comprises the steps of specifying (34) at least one processor or processor core of the computing device, selecting (35) a port of the at least one data source, generating (36) a data set assigned to the selected port, determining (37) the processor or processor core assigned to the data set, repeating the steps of selection (35), generation (36) and determination (37) until a port has been determined for each specified processor or processor core, and sending (39) data packets via the ports determined for the specified processors or processor cores.