Packet Processing Circuitry for Redundant Stream Deduplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-speed packet streaming schemes for real-time video transmission across networks often require redundant streams, leading to increased memory footprint and processing burden on the host processor, as there is no guarantee that all packets will reach the destination in order, necessitating reordering and interleaving at the receiver.

Innovation Solution

A communication apparatus and method that uses a network interface controller to receive and process redundant packet streams, mapping packet sequence numbers to buffer addresses to eliminate redundant data, ensuring only one copy of each slice is stored in order, thereby reducing the processing load and memory footprint of the host processor.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If redundant packet streams are transmitted to ensure data availability, then reliability is improved, but memory footprint and processing burden increase

Engineering Contradiction:
Improvedata availabilityVSAvoidprocessing burden
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the packet reordering and deduplication function from the host processor software and implements it in the network interface controller hardware. The NIC maintains a reordering buffer and uses packet sequence numbers to automatically reorder packets and eliminate duplicates before passing data to the host, thereby reducing the processing burden on the host while maintaining reliability through redundant streams

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The network interface controller acts as an intermediary between the network and the host processor. It receives redundant packet streams, performs reordering and deduplication operations in its buffer, and presents a single ordered data stream to the host, thereby shielding the host from the complexity of handling multiple redundant streams while ensuring data availability

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If packets are reordered and interleaved at the destination to reconstruct data, then data reconstruction reliability is improved, but latency increases

Engineering Contradiction:
Improvedata reconstructionVSAvoiddata latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The network interface controller performs packet reordering and deduplication operations in advance, before data is passed to the host processor. By maintaining a reordering buffer and using sequence numbers to preemptively organize packets in the correct order, the NIC eliminates latency that would otherwise occur during software-based reordering at the host

Inventive Principle:
Principle #10Preliminary action

3Reliability

If multiple redundant streams are processed in parallel, then data availability is improved, but host processor load increases

Engineering Contradiction:
Improvedata availabilityVSAvoidhost processor throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the parallel stream processing function from the host processor and implements it in the network interface controller hardware. The NIC receives multiple redundant streams, processes them through its reordering buffer, and outputs a single consolidated stream, thereby preserving data availability while eliminating the processing load from the host processor

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11190462B2Direct packet placement
Publication Date: 2021.11.30 MELLANOX TECHNOLOGIES LTD(IL)
  • US11190462B2 patent drawing
  • US11190462B2 patent drawing
  • US11190462B2 patent drawing

AI summary

Communication apparatus includes a host interface and a network interface, which receives from a packet communication network at least one packet stream including a sequence of data packets, which include headers containing respective sequence numbers and data payloads containing slices of the data segment having a predefined, fixed size per slice. Packet processing circuitry is configured to receive the data packets from the network interface, and to map the data payloads of the data packets in the at least one packet stream, using a linear mapping of the sequence numbers, to respective addresses in the buffer.