Network Interface Card Hardware Offload for QUIC Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hardware offload solutions for TCP protocols are not applicable to QUIC, which uses the connectionless UDP protocol, limiting the ability to efficiently offload operations such as encryption and decryption for QUIC data packets.

Innovation Solution

A computerized method for hardware offloading in QUIC communications involves programming a network interface card with a mapping between connection identification (CID) for QUIC data packets and symmetric keys and crypto algorithms. The method identifies the CID for QUIC data packets and sends it to the network interface card, which selects processors to process the packets based on the CID and performs cryptographic operations using the identified symmetric key and crypto algorithm.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If hardware offload is implemented for QUIC connections, then processing performance and efficiency are improved, but device complexity increases due to the need for CID mapping and hardware programming

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

Solution Approach 1:

The network interface card is pre-programmed with a mapping between CIDs and cryptographic parameters before QUIC connections are established. This preliminary configuration enables the hardware to automatically perform encryption/decryption operations without requiring complex runtime decision-making, thus improving processing performance while managing device complexity through advance preparation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a CID (Connection Identification) as an intermediary key that links QUIC connections to their corresponding cryptographic parameters. This intermediary mechanism simplifies the hardware offload process by providing a direct mapping reference, reducing the complexity of managing multiple connection states and cryptographic keys in the hardware device.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If connection identification mapping is programmed in the network interface card, then QUIC packet processing efficiency is improved, but the initial setup time and programming overhead increase

Engineering Contradiction:
Improvepacket processing efficiencyVSAvoidsetup time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The network interface card is configured with CID-to-cryptographic-parameter mappings in advance, during system initialization or connection setup. This preliminary programming eliminates the need for time-consuming runtime lookups and decisions during actual packet processing, significantly improving packet processing efficiency. The setup time is amortized over the lifetime of multiple QUIC connections, making the trade-off favorable.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP3725057B1Hardware offload for QUIC connections
Publication Date: 2025.04.02 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3725057B1 patent drawingFigure 1
  • EP3725057B1 patent drawingFigure 2~3
  • EP3725057B1 patent drawingFigure 4~5

AI summary

A system for hardware offloading programs a network interface card with a mapping between (i) a connection identification (CID) for one or more Quick User Datagram Protocol Internet Connections (QUIC) data packets and (ii) a symmetric key and a crypto algorithm. When one or more data packets are received over a network, the one or more data packets are parsed to identify the one or more data packets as QUIC data packets and then obtain the CID for the QUIC data packets. The CID is sent to the network interface card that identifies the symmetric key and the crypto algorithm based on the CID to perform a crypto decrypt operation on the QUIC data packets, and reassembles the QUIC data packets, and an encrypt and large send offload (LSO) on transmit. A software control complexity and processing burden is thereby reduced.