Transparent Network Acceleration via Kernel Stack Duplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvenetwork speedVSAvoidease of deployment
Core Design Contradiction:
SpeedVSEase of operation

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If existing network acceleration methods are used, then network performance is improved, but scalability in multi-CPU core environments deteriorates

Engineering Contradiction:
Improvenetwork performanceVSAvoidscalability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

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.

Inventive Principle:
Principle #1Segmentation

3Reliability

If kernel stack access is used for network operations, then network communication is maintained, but network acceleration is limited

Engineering Contradiction:
Improvenetwork communication reliabilityVSAvoidnetwork speed
Core Design Contradiction:
ReliabilityVSSpeed

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9430300B2Method and system for transparent network acceleration
Publication Date: 2016.08.30 WIND RIVER SYSTEMS INC
  • US9430300B2 patent drawing
  • US9430300B2 patent drawing
  • US9430300B2 patent drawing

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.