Offloading Keep Alive Management to Network Processing Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current networking deployments face significant overhead due to 'keep alive' mechanisms, which consume CPU cycles and bandwidth, especially when managing multiple peer connections.

Innovation Solution

Offloading keep alive functionality from the central processing unit (CPU) to a network processing unit (NPU) within network devices, allowing the NPU to manage connection-related data and process keep alive messages, thereby reducing CPU involvement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If keep alive mechanisms are implemented to monitor connection state between peer devices, then connection reliability is improved, but CPU processing overhead and bandwidth consumption increase significantly

Engineering Contradiction:
Improveconnection state monitoringVSAvoidCPU processing overhead
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the keep alive message processing functionality from the CPU to a dedicated network processing unit (NPU). The NPU independently handles receiving, parsing, and responding to keep alive messages, while the CPU only intervenes when connection state changes occur. This extraction eliminates the continuous CPU overhead while maintaining connection monitoring reliability.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If keep alive mechanisms are implemented to ensure connection activity, then connection state accuracy is improved, but CPU queue bandwidth is consumed

Engineering Contradiction:
Improveconnection state accuracyVSAvoidCPU queue bandwidth
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The NPU is given dedicated responsibility for processing keep alive messages, removing this traffic from the CPU queue. The NPU maintains its own processing queue for connection management messages, separating them from general data plane traffic handled by the CPU. This prevents CPU queue saturation while ensuring accurate connection state monitoring.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If multiple peer connections are monitored using keep alive mechanisms, then network topology awareness is improved, but CPU cycle consumption increases significantly

Engineering Contradiction:
Improvenetwork topology awarenessVSAvoidCPU cycle consumption
Core Design Contradiction:
ReliabilityVSPower

Solution Approach 1:

The NPU autonomously manages the keep alive message processing for multiple peer connections without requiring CPU intervention for each message. It independently parses incoming messages, determines connection state, and generates responses. The CPU only receives notifications when connection state changes occur, allowing the NPU to self-service the majority of processing tasks.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent extracts the multi-connection monitoring functionality from the CPU to the NPU. The NPU maintains connection state information for multiple peers and handles all associated keep alive messaging, freeing the CPU from the cumulative overhead of monitoring multiple connections while preserving complete topology awareness.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12273260B2Offloading connection management for network resources
Publication Date: 2025.04.08 NVIDIA CORP
  • US12273260B2 patent drawing
  • US12273260B2 patent drawing
  • US12273260B2 patent drawing

AI summary

Approaches in accordance with various illustrative embodiments provide for the management of active connections in a network environment. In particular, various embodiments implement keep alive functionality in components such as network processing units (NPUs) of network devices such as routers and switches, instead of host processors for those devices. When a status message is received, such as a hello message, the NPU can set or refresh a hit bit in a table entry for a given connection with a peer device. If a subsequent status message is not received within a keep alive interval of the last received status message, then the NPU can determine that the connection with the peer device is stale and can inform the host processor that the connection is no longer available for routing network traffic. The status messages are terminated in the NPU and prevented from being received and processed by the host processor.