Packet Header Evaluation for High-Stream Binary Search Dispatch

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network products and processing devices face scalability issues in managing a large number of data streams due to resource constraints and latency problems when using matchers or linear searches, making it difficult to support more than 128 concurrent streams efficiently.

Innovation Solution

A method and network product that employs a raw packet buffer, look-ahead evaluator, and high-performance binary search to determine whether incoming data packets belong to subscribed streams by extracting the first n words of the packet header, allowing parallel evaluation and dispatching of data packets, thereby reducing resource usage and latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If a matcher is used for each subscribed stream to filter packets, then packet filtering accuracy is improved, but device complexity and resource consumption increase linearly with the number of streams

Engineering Contradiction:
Improvepacket filtering accuracyVSAvoiddevice complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

Multiple matchers are merged into a single evaluation unit that processes multiple stream identifiers simultaneously. Instead of having separate matchers for each stream, the patent combines their functionality into one unit that can evaluate packets against multiple subscribed stream identifiers in a unified manner, reducing overall device complexity while maintaining filtering accuracy.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The evaluation unit is designed to be universal, capable of handling multiple stream identification functions within a single component. This multi-functional unit can subscribe to and filter packets for multiple data streams simultaneously, eliminating the need for dedicated matchers for each stream and thereby reducing device complexity.

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

2Adaptability or versatility

If the number of matchers is increased to support more concurrent data streams, then adaptability is improved, but resource consumption and timing issues worsen

Engineering Contradiction:
Improvenumber of supported streamsVSAvoidFPGA resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

A single evaluation unit is designed to handle multiple stream subscriptions universally. This unit can dynamically subscribe to and filter packets for many different data streams without requiring proportional increases in hardware resources. The universal design allows the same hardware to adapt to different numbers of streams through configuration rather than physical expansion.

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

Solution Approach 2:

The system uses parameter-based configuration to adapt to different numbers of streams. Instead of adding hardware components, the evaluation unit adjusts its operational parameters (such as the number of stream identifiers it monitors) to match the required capacity. This allows scalable adaptability without linear resource consumption increases.

Inventive Principle:
Principle #35Parameter changes

3Use of energy by moving object

If a linear search is used to evaluate data streams, then resource consumption is reduced, but processing speed and productivity deteriorate with high stream counts

Engineering Contradiction:
Improveresource consumptionVSAvoidprocessing speed
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

Stream identifiers are pre-processed and organized into optimized data structures before runtime packet evaluation. This preliminary organization allows the evaluation unit to quickly locate matching streams without performing exhaustive linear searches during packet processing, thereby improving processing speed while maintaining low resource consumption during operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of copying entire packet data for comparison, the system extracts and compares only relevant identifier fields. This selective copying of critical information enables faster evaluation without the overhead of processing complete packet contents, improving productivity while keeping resource usage low.

Inventive Principle:
Principle #26Copying

4Productivity

If direct matching of search properties to list items is used, then processing speed is improved, but the solution becomes infeasible for a large number of streams due to resource constraints

Engineering Contradiction:
Improveprocessing speedVSAvoiddevice complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The evaluation process is segmented into distinct stages: packet reception, header extraction, identifier comparison, and packet routing. This segmentation allows complex matching operations to be broken down into manageable steps that can be efficiently implemented in hardware, maintaining processing speed while controlling device complexity through modular design.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20260025443A1Fast Evaluation and Dispatching of High Stream Count
Publication Date: 2026.01.22 EVS BROADCAST EQUIP SA
  • US20260025443A1 patent drawing
  • US20260025443A1 patent drawing
  • US20260025443A1 patent drawing

AI summary

The present disclosure relates a method for evaluating packets of subscribed data streams comprising receiving incoming data packets belonging to a plurality of data streams; buffering the incoming data packets in a raw packet buffer; extracting the first words of the incoming data packets and forwarding the extracted first words to a packet header buffer; evaluating the first words in the packet header buffer, wherein the evaluation comprises extracting information identifying a data stream, performing a binary search on the extracted information to determine whether the incoming data packet from which the information was extracted belongs to one of the subscribed data streams, storing the result in a packet evaluation result buffer; determining based on the result whether a data belongs a subscribed stream; reading, in case the data packet in the raw packet buffer belongs to one of the subscribed streams, the data packet from the raw packet buffer.