Network Interface Pace Engine for Transmission Rate Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network communication systems face inefficiencies in packet transmission due to mismatched bandwidth capacities between transmitting and receiving stations, leading to degraded performance and congestion, especially when multiple communication links with varying speeds are involved.

Innovation Solution

A system and method for pacing transmission from a network interface device using a pace table and binning controller to classify and manage transmit queues based on specified pacing thresholds, allowing for tailored transmission rates for each communication link, thereby optimizing network performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If packets are transmitted at high rates from fast communication links, then transmission speed is improved, but receiving stations with slower bandwidth experience congestion and packet loss

Engineering Contradiction:
Improvetransmission speedVSAvoidpacket delivery reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system dynamically changes the transmission rate parameter based on the receiving station's bandwidth capacity. The pace engine adjusts the packet transmission interval (pace value) for each communication link, transforming the fixed high-speed transmission into a variable rate transmission that adapts to receiving capabilities, thus preventing congestion while maintaining optimal throughput

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different transmission qualities (pace values) to different communication links based on the specific receiving station's bandwidth. Each link receives a customized pace value from the pace table, ensuring that fast links transmit at higher rates while slow links transmit at lower rates, thereby optimizing overall network performance without causing congestion at any receiving station

Inventive Principle:
Principle #3Local quality

2Adaptability or versatility

If multiple communication links with varying bandwidths are used, then network coverage and adaptability are improved, but managing transmission rates across different links increases system complexity

Engineering Contradiction:
Improvenetwork link adaptabilityVSAvoidtransmission management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The pace engine automatically retrieves pace values for each communication link from the pace table based on the receiving station's identity, without requiring manual configuration or complex external control. The system serves itself by autonomously adjusting transmission rates according to pre-stored pace values, simplifying the management of multiple heterogeneous links

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The pace table serves as a universal data structure that stores pace values for multiple different communication links and receiving stations. The binning controller and pace engine work together as a multi-functional mechanism that handles pace value retrieval, comparison, and transmission rate adjustment for various link types, reducing the need for separate management systems for each link

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

Data Source

PatentEP2363807B1Address encryption/rate pacing
Publication Date: 2020.03.25 XILINX INC
  • EP2363807B1 patent drawingFigure 1
  • EP2363807B1 patent drawingFigure 2
  • EP2363807B1 patent drawingFigure 3

AI summary

A system for pacing transmission of a plurality of transmit queues in a host memory accessible to a network interface device via a communication bus, comprising: a plurality of bins; an output arbiter coupled to select one of the bins, in accordance with a bin priority scheme, the bins being accessible by the output arbiter without accessing the communication bus; and a binning controller for assigning data packets from the plurality of transmit queues to the plurality of bins in dependence upon a value of a packet transmit rate parameter associated with the transmit queue from which each data packet is derived.