User Space Server Delay Control Device for Packet Transfer

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Both interrupt and polling models for packet transfer in server virtualization environments face delays due to software interrupt processing and CPU occupancy, respectively, leading to increased wait times and reduced performance.

Innovation Solution

A server delay control system that performs polling for packet transfer between an application and a physical NIC in the user space, utilizing a communication path with a first and second queue, and includes a packet dequeuer and enqueuer to manage packets without context switching, thereby reducing delay.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If interrupt model is used for packet transfer, then packet transfer can be triggered by hardware events, but software interrupt processing causes delays and increased wait times

Engineering Contradiction:
Improvepacket transfer speedVSAvoidwait time for interrupt processing
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent extracts the packet transfer processing from the kernel space interrupt model and moves it to user space. The server delay control device performs packet transfer processing in user space without involving kernel space interrupts, thereby eliminating the wait time associated with software interrupt processing while maintaining the ability to trigger packet transfers based on hardware events.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a server delay control device as an intermediary component between the application and the physical NIC. This intermediary handles packet transfer processing in user space, acting as a mediator that eliminates the need for kernel space interrupt processing while maintaining efficient packet transfer.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If polling model is used for packet transfer, then immediate packet processing can be achieved, but CPU occupancy increases and performance decreases

Engineering Contradiction:
Improvepacket transfer delayVSAvoidCPU efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent implements a hybrid approach where the server delay control device performs packet transfer processing periodically based on trigger events rather than continuous polling. This allows immediate packet processing when needed while avoiding the CPU overhead of continuous polling, thereby reducing packet transfer delay without sacrificing CPU efficiency.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent makes the packet transfer processing dynamic by using event-triggered mechanisms rather than static continuous polling. The processing is activated only when necessary, adapting to actual packet arrival patterns and reducing unnecessary CPU occupancy while maintaining low delay performance.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If context switching is performed during packet processing, then different processing tasks can be handled, but processing delay increases

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidcontext switching delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the system into distinct components with clear boundaries: the server delay control device in user space handles packet transfer processing, while the application continues to run independently. This segmentation allows processing to occur in isolated contexts without requiring context switches between different tasks, maintaining processing flexibility while eliminating context switching delays.

Inventive Principle:
Principle #1Segmentation

4Loss of time

If application is modified to implement polling, then low-delay packet transfer can be achieved, but application complexity increases

Engineering Contradiction:
Improvepacket transfer delayVSAvoidapplication complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where the server delay control device automatically performs packet transfer processing in user space without requiring modifications to the application. The device monitors and handles packet transfers independently, reducing packet transfer delay while keeping the application simple and unchanged.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12001895B2Server delay control system, server delay control device, server delay control method, and program
Publication Date: 2024.06.04 NIPPON TELEGRAPH & TELEPHONE CORP
  • US12001895B2 patent drawing
  • US12001895B2 patent drawing
  • US12001895B2 patent drawing

AI summary

Provided is a server delay control system for performing, on a server including a Host OS, packet transfer between a physical NIC connected to the Host OS and an application deployed in a user space. A server delay control device configured to perform polling for packet transfer on behalf of the application is deployed in the user space. The server delay control device creates, between the application and the physical NIC, a communication path for communication via socket communication. The communication path includes a first queue and a second queue. The server delay control device includes: a packet dequeuer configured to poll whether a packet has been enqueued into the first queue and to dequeue the enqueued packet from the first queue; and a packet enqueuer configured to enqueue the dequeued packet into the second queue in the same context as the polling and dequeuing without causing a context switch.