In-Kernel WAN Optimization Datapath for Router Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing WAN optimization solutions are expensive and do not fully meet customer needs, while the kernel storage stack in storage devices becomes a major source of overhead, leading to increased latency and reduced IOPS.

Innovation Solution

A WAN optimization method that utilizes an in-kernel end-to-end datapath in a router to optimize traffic flows by retrieving and reconstructing files directly from kernel memory, using DMA operations to transfer segments from disk storage to kernel memory, and employing a cache to manage segment storage and retrieval.

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 applications are forced to implement their own file systems and poll for I/O completion, leading to wasted CPU cycles and high energy consumption

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

Solution Approach 1:

The system separates storage operations into kernel-space and user-space components. The kernel-space storage stack handles file system management and I/O operations, while user-space applications interact through standardized system calls. This segmentation allows applications to benefit from fast direct device access without implementing their own file systems, as the kernel-space stack provides these capabilities independently.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The kernel-space storage stack acts as an intermediary between user-space applications and the underlying storage devices. It provides a standardized interface for applications while managing the complexity of file system operations and I/O completion handling in the kernel space, eliminating the need for applications to implement these functions themselves.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If the kernel storage stack is used to manage storage operations, then applications can use standard file system interfaces, but the kernel storage stack becomes a major source of overhead that impedes both application-observed latency and IOPS

Engineering Contradiction:
Improveapplication ease of useVSAvoidI/O latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system dynamically adjusts the level of kernel-space involvement in storage operations. For simple, sequential workloads, the kernel storage stack operates at full functionality. For performance-critical operations, the system can bypass certain kernel-space processing steps while maintaining the same user-space interface, thereby reducing latency without sacrificing ease of operation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters of the kernel storage stack based on workload characteristics. For example, it can adjust buffer cache sizes, I/O scheduling policies, and processing depths to optimize performance for different types of workloads, reducing overhead while maintaining standard file system interfaces.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If third-party WAN optimization solutions are deployed to optimize traffic flows, then network performance is improved, but the solutions are expensive and do not meet all customer needs

Engineering Contradiction:
Improvenetwork throughputVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system merges WAN optimization functionality directly into the kernel-space storage stack, combining network optimization and storage management in a single integrated component. This eliminates the need for separate third-party WAN optimization appliances, reducing cost and system complexity while maintaining performance benefits.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The kernel-space storage stack is designed to provide multiple functions including file system management, I/O optimization, and WAN optimization capabilities. This multi-functionality allows a single system component to address diverse customer needs that previously required multiple specialized solutions, reducing both cost and complexity.

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

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach reduces latency and improves throughput by minimizing CPU cycles and energy consumption, while also eliminating the need for applications to implement their own file systems and I/O completion polling.

Implementation Method 1

the method performs an operation to DMA (direct memory access) the particular segment into the kernel memory from a disk storage of the first router

Methodology Applied
Scientific EffectDMA (Direct Memory Access):

Data Source

PatentUS20250106153A1Advanced storage operations for wan optimization
Publication Date: 2025.03.27 VMWARE INC
  • US20250106153A1 patent drawing
  • US20250106153A1 patent drawing
  • US20250106153A1 patent drawing

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.