Transparent Network Acceleration via Kernel Stack Duplication
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for accelerating network performance in computing environments require modification of application code or installation of additional hardware/software, and scale poorly in multi-CPU core environments, limiting user capability and efficiency.
Innovation Solution
A method involving an acceleration engine that duplicates the kernel stack's state to create a mirrored network stack, allowing it to monitor and manage network traffic without accessing the kernel, thereby accelerating network communication tasks without modifying the application or installing additional hardware/software.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If existing methods for accelerating network performance are used, then network speed is improved, but application code modification or additional hardware/software installation is required
Solution Approach 1:
The patent creates a duplicate network stack that mirrors the kernel network stack, allowing the application to interact with the accelerated stack while the kernel stack remains unchanged. This copying approach enables performance improvement without modifying the application or requiring additional hardware installation.
Solution Approach 2:
The duplicate network stack acts as an intermediary between the application and the kernel network stack. It receives requests from the application, accelerates network operations, and communicates with the kernel stack only when necessary, thereby improving performance without requiring application modification or additional hardware.
2Productivity
If existing network acceleration methods are used, then network performance is improved, but scalability in multi-CPU core environments deteriorates
Solution Approach 1:
The patent segments the network stack into a kernel portion and a user-space duplicate portion. The duplicate network stack can be independently instantiated for each CPU core or application, enabling parallel network operations and improving scalability in multi-CPU environments without compromising performance.
3Reliability
If kernel stack access is used for network operations, then network communication is maintained, but network acceleration is limited
Solution Approach 1:
The patent extracts network operations from the kernel space and relocates them to user space through the duplicate network stack. This extraction allows most network operations to proceed without kernel involvement, improving speed while maintaining reliability by keeping the kernel stack intact for essential operations.
Solution Approach 2:
The duplicate network stack serves as an intermediary that handles network operations in user space, reducing the need for kernel stack access. It only communicates with the kernel stack when necessary, thereby improving network speed while maintaining communication reliability through selective kernel interaction.
Data Source
AI summary
A method includes duplicating, by an acceleration engine that is associated with a software application executing in a computing environment, a state of a kernel stack of an operating system of the computing environment to generate a duplicate network stack; receiving, by the acceleration engine, a request by the software application to send traffic over a network interface; and sending, by the acceleration engine, the request to a network driver relating to the network interface.


