Zero-Copy Offload Stack for Web Server Data Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data transfer mechanisms in server systems are inefficient, requiring costly resource consumption and processing delays due to the need for data copying between kernel and user spaces, especially in virtual machine systems where security and resource sharing complicate data transfer.

Innovation Solution

Implementing an offload stack structure that runs on separate processor cores, allowing for zero-copy data transfer by processing commands without copying data into the operating system's address space, thereby sharing network and file resources between multiple operating system images and providing a unified interface for offloading network and file services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is copied from file system buffer cache to user space and then back to kernel space, then data transfer can be performed using conventional mechanisms, but processing delays and resource consumption increase

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidprocessing delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the network stack and file system buffer cache operations from the traditional kernel space, placing them in a separate user-space offload stack. This allows data to be transferred directly from the file system buffer cache to the network socket buffers without being copied to application server user space and back, eliminating unnecessary processing delays while maintaining data integrity through controlled access mechanisms.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If sendfile command is used to transfer data within kernel space, then copying to and from user space is avoided, but kernel resources are still consumed and mapping physical memory pages is processing intensive

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidkernel resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent introduces a user-space offload stack that acts as an intermediary between the file system buffer cache and network socket buffers. This offload stack provides sendfile-like functionality without requiring data to be mapped into the application server's address space, thereby reducing kernel resource consumption and avoiding the processing-intensive page mapping operations while still enabling efficient zero-copy data transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If multiple operating system images run on virtual machine systems, then resource sharing is enabled, but security constraints prevent direct access to memory allocated by other operating system images

Engineering Contradiction:
Improveresource sharing capabilityVSAvoiddata transfer complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the data transfer architecture by implementing a dedicated user-space offload stack that operates independently from individual operating system images. This offload stack provides controlled access to shared resources like the file system buffer cache and network socket buffers, enabling multiple operating system images to share resources efficiently while maintaining security boundaries through controlled access mechanisms rather than direct memory access.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8713180B2Zero-copy network and file offload for web and application servers
Publication Date: 2014.04.29 CISCO TECHNOLOGY INC
  • US8713180B2 patent drawing
  • US8713180B2 patent drawing
  • US8713180B2 patent drawing

AI summary

Methods and apparatus for transferring data from an application server are provided. By offloading network and file system stacks to a common stack accessible by multiple operating systems in a virtual computing system, embodiments of the present invention may achieve data transfer support for web and application servers without the data needing to be copied to or reside in the address space of the server operating systems.