In-Kernel WAN Optimization via NVMe DMA and Zero-Copy

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current WAN optimization solutions are expensive and do not fully meet customer needs, and existing approaches to address kernel storage overhead, such as complete kernel bypass, lead to high CPU usage and reduced throughput due to the need for intrusive application-level changes or dedicated CPU resources.

Innovation Solution

A WAN optimization method that uses an in-kernel end-to-end datapath in a router to optimize traffic flows by directly accessing kernel memory for data segments, performing DMA operations using NVMe devices, and leveraging zero-copy operations to accelerate data processing, while also incorporating a cache for efficient segment retrieval and decompression.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If complete kernel bypass through libraries (e.g., SPDK) is used to allow applications to access underlying devices directly, then I/O latency is reduced and throughput is improved, but CPU cycles are wasted due to polling for I/O completion and energy consumption increases

Engineering Contradiction:
ImproveI/O latencyVSAvoidCPU energy consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent introduces a kernel module as an intermediary between the application and the storage device. This kernel module receives I/O requests from the application, translates them into device-specific commands, and manages the I/O operations without requiring application-level changes or complete kernel bypass. The kernel module acts as a mediator that maintains the benefits of direct access while preserving the efficiency of kernel-space I/O handling.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If complete kernel bypass through libraries (e.g., SPDK) is used to allow applications to access underlying devices directly, then I/O latency is reduced, but application complexity increases due to the need to implement own file systems and poll for I/O completion

Engineering Contradiction:
ImproveI/O latencyVSAvoidapplication complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent extracts the complexity of I/O management from the application layer and relocates it to the kernel module. The kernel module handles file system operations, I/O command translation, and completion notification, thereby simplifying the application code while maintaining low I/O latency through direct device access.

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If kernel storage stack is used to manage storage operations, then application-level changes are avoided and system stability is maintained, but I/O latency is doubled and throughput is reduced due to kernel overhead

Engineering Contradiction:
Improvesystem stabilityVSAvoidI/O latency
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent implements preliminary action by having the kernel module pre-translate application I/O requests into device-specific commands before submission to the storage device. This pre-processing in kernel space eliminates the need for multiple kernel-space translations and reduces I/O latency while maintaining system stability through controlled kernel-space operations.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If third-party WAN optimization solutions are deployed to optimize traffic flows, then network performance is improved, but cost increases and not all customer needs are met

Engineering Contradiction:
Improvenetwork performanceVSAvoidsystem cost
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a kernel module that provides WAN optimization capabilities directly within the operating system kernel, making the optimization functionality universal and integrated rather than requiring separate third-party appliances. This multi-functional kernel module handles storage I/O optimization, network traffic management, and data caching, thereby reducing cost while meeting diverse customer needs through a single integrated solution.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentEP4528518A1Advanced storage operations for wan optimization
Publication Date: 2025.03.26 VMWARE INC
  • EP4528518A1 patent drawingFigure 1
  • EP4528518A1 patent drawingFigure 2
  • EP4528518A1 patent drawingFigure 3~4

AI summary

Some embodiments of the invention provide a WAN optimization method for optimizing traffic flows through a WAN that connects multiple sites each having at least one router. The method is performed at a first router at a first site. From a second router at a second site, the method receives a file, that includes a set of segment identifiers corresponding to a set of segments stored by the first router, in an optimized first data stream originating from a source device at the second site and destined to a destination device at the first site. For each segment identifier in the set, the method attempts to retrieve a corresponding segment from a kernel memory of the first router. When the corresponding segment is not stored in the kernel memory, the method performs an operation to DMA the segment into the kernel memory from a disk storage of the first router.