Offloading Keep Alive Management to Network Processing Units
Find Innovative SolutionsGenerate 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
Engineering 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
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.
2Reliability
If keep alive mechanisms are implemented to ensure connection activity, then connection state accuracy is improved, but CPU queue bandwidth is consumed
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.
3Reliability
If multiple peer connections are monitored using keep alive mechanisms, then network topology awareness is improved, but CPU cycle consumption increases significantly
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.
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.
Data Source
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.


