NIC Packet Assignment for Virtual Network Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud data centers, existing technologies face inefficiencies in processing inbound packets due to high CPU and memory utilization, particularly in virtualized environments where virtual routers handle packet routing, leading to suboptimal performance and resource utilization.

Innovation Solution

Configuring network interface cards (NICs) to directly send packet data to destination virtual machines based on virtual machine identifiers within tunnel packets, bypassing the need for software-based virtual routers, thereby improving memory and CPU utilization by using Direct Memory Access (DMA) transfers and reducing the load on virtual routers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If software-based virtual routers handle packet routing in virtualized environments, then routing functionality is provided, but CPU utilization increases and packet processing efficiency decreases

Engineering Contradiction:
Improvepacket processing rateVSAvoidCPU utilization
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent extracts the packet routing function from the software-based virtual router and relocates it to the hardware NIC. The NIC is configured with receipt queues associated with specific virtual machines and uses virtual machine identifiers from tunnel packets to directly route packets to the appropriate virtual machine, bypassing the need for software-based routing processing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces an intermediary mechanism where the NIC acts as a hardware mediator between the physical network and virtual machines. The NIC uses DMA transfers to move packet data directly between network memory and virtual machine memory spaces, eliminating the need for CPU intervention in the packet forwarding path.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If virtual routers process inbound packets, then routing is performed, but memory utilization increases due to packet copying and processing

Engineering Contradiction:
Improverouting efficiencyVSAvoidmemory utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent extracts the packet forwarding function from the virtual router software and implements it in hardware at the NIC level. The NIC directly writes packet data to the memory locations of destination virtual machines using DMA, eliminating the memory copying operations that would otherwise occur in software-based routing.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical software-based packet processing mechanism with a hardware-based DMA transfer mechanism. Instead of software copying packets through multiple memory layers, the NIC hardware directly transfers packet data from network buffer memory to virtual machine memory spaces, reducing memory utilization.

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

3Ease of operation

If software-based routing is used, then packet forwarding is achieved, but device complexity increases due to software processing layers

Engineering Contradiction:
Improvepacket forwarding simplicityVSAvoidsoftware processing complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent extracts the routing decision logic from the software virtual router and implements it in the hardware NIC. The NIC is configured with receipt queues mapped to specific virtual machines and uses virtual machine identifiers to make routing decisions in hardware, simplifying the overall system architecture by removing software processing layers from the data path.

Inventive Principle:
Principle #2Taking out (Extraction)

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 enhances memory and CPU utilization, increases packet processing rates, and optimizes resource allocation by offloading routing functionality from virtual routers to NICs, leading to improved performance in virtualized data center environments.

Implementation Method 1

the NIC may directly send packet data for the tunnel packet to the destination virtual machine. In some examples of directly sending packet data, the NIC may write the packet data to a memory location for an address space of the destination virtual machine using, e.g., a Direct Memory Access (DMA) transfer.

Methodology Applied
Scientific EffectDirect Memory Access (DMA):

Data Source

PatentUS9948579B1NIC-based packet assignment for virtual networks
Publication Date: 2018.04.17 HEWLETT PACKARD ENTERPRISE DEV LP
  • US9948579B1 patent drawing
  • US9948579B1 patent drawing
  • US9948579B1 patent drawing

AI summary

In some examples, a computing device includes one or more processors configured to execute a plurality of virtual machines; and a network interface card (NIC) coupled to the one or more processors and configured to receive configuration data defining a plurality of receipt queues of the NIC and associated with respective virtual machines of the plurality of virtual machines. The NIC is further configured to assign, based on respective virtual machine identifiers of packets received by the NIC, the packets to the plurality of receipt queues associated with the respective virtual machines.