Virtual Switch Shared Memory Buffer for SDN Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network communication mechanisms between virtual switches and network functions in software-defined networks (SDNs) incur delays due to context switching, which hampers efficient packet processing and increases operational overhead.

Innovation Solution

Implementing a shared memory buffer accessible by both virtual switches and network functions to facilitate direct packet transfer without context switching, allowing network functions to operate within the user-space of the host operating system, thereby reducing latency and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional network communication mechanisms are used between virtual switches and network functions, then packet processing can be performed, but context switching delays occur and operational overhead increases

Engineering Contradiction:
Improvepacket processing speedVSAvoidcontext switching delay
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent merges the virtual switch and network functions into a single address space, eliminating the boundary that causes context switching. By placing both components in user-space with shared memory access, the system combines previously separate execution environments, allowing direct packet transfer without kernel-space transitions.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent introduces a shared memory buffer as an intermediary mechanism between virtual switches and network functions. This shared memory acts as a mediator that enables direct data exchange without requiring context switching to kernel space, thus reducing the time loss while maintaining proper data flow control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If network functions operate in kernel-space, then they can access network resources, but resource consumption and operational overhead increase

Engineering Contradiction:
Improvenetwork resource accessVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent enables network functions to operate autonomously in user-space with direct access to shared memory and network resources. By self-managing packet processing in user-space without requiring kernel-space intervention, the system reduces resource consumption while maintaining reliable network resource access through the shared memory interface.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the traditional kernel-space execution model with a user-space execution model. This substitution eliminates the need for context switching to kernel-space while maintaining network resource access capabilities through shared memory, thereby reducing the operational overhead and resource consumption associated with kernel-space operations.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Productivity

If multiple context switches are performed for packet processing, then network functions can be executed, but processing latency increases

Engineering Contradiction:
Improvenetwork service throughputVSAvoidprocessing latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent establishes continuous packet processing by eliminating context switching interruptions. By keeping both virtual switches and network functions in user-space with shared memory access, the system enables uninterrupted packet flow, maintaining continuous useful action without the breaks caused by kernel-space transitions.

Inventive Principle:
Principle #20Continuity of useful action

Solution Approach 2:

The patent performs preliminary setup by placing both virtual switches and network functions in user-space with pre-configured shared memory access before packet processing begins. This preliminary arrangement eliminates the need for runtime context switching, allowing packet processing to proceed without latency interruptions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10812376B2Chaining network functions to build complex datapaths
Publication Date: 2020.10.20 RED HAT INC
  • US10812376B2 patent drawing
  • US10812376B2 patent drawing
  • US10812376B2 patent drawing

AI summary

A virtual switch executes on a computer system to forward packets to one or more destinations. A method of the disclosure includes receiving, by a processing device executing a virtual network switch, a network packet comprising a header and a payload, identifying, in view of the header, a port of the virtual switch for forwarding the network packet, storing the network packet to a shared memory buffer associated with the port, wherein the shared memory buffer is accessible to a network function, notifying the network function that the network packet is stored to the shared memory buffer; and processing the network packet by the network function.