Nested NIC Switches Bypass Virtual Switch Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtual machines in cloud services experience performance issues due to the overhead of virtual switches, which consume processor cycles and contribute to network latency, hindering efficient resource utilization and hardware acceleration for guest processes.

Innovation Solution

A server architecture with a physical network interface controller (NIC) featuring nested NIC switches that distribute data packets directly to kernel isolated containers, bypassing the virtual switch, thereby enabling hardware-level access and reducing latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a virtual switch is used to route packets to containers, then packet routing is enabled, but processor cycles are consumed and latency increases

Engineering Contradiction:
Improvepacket routing capabilityVSAvoidnetwork latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent segments the network interface controller functionality by implementing nested virtual switches within the NIC hardware itself. The first virtual switch handles routing to the host virtual machine, while the second virtual switch handles routing to kernel isolated containers. This segmentation enables direct hardware-level packet distribution to containers without requiring software-based virtual switch processing, thereby reducing latency while maintaining routing capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The nested virtual switches within the NIC act as intermediary components that bridge the physical network interface and the kernel isolated containers. Instead of all packets passing through the software virtual switch in the host OS, the hardware-based nested virtual switches intercept and direct packets directly to containers at the hardware level, eliminating the need for software processing of container-bound traffic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If a virtual machine is used to host containers, then resource virtualization is achieved, but overhead is added at lower layer packet routing

Engineering Contradiction:
Improveresource virtualizationVSAvoidpacket routing complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a nested architecture where kernel isolated containers are hosted within a virtual machine, and nested virtual switches are embedded within the physical NIC. This nesting allows the virtual machine to maintain its resource virtualization capabilities while the nested virtual switches handle packet routing at the hardware level, effectively removing the routing overhead that would otherwise be imposed by the virtual machine layer.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent extracts the packet routing function from the software virtual switch and relocates it to hardware-based nested virtual switches within the NIC. This extraction removes the routing complexity from the virtual machine software stack, allowing the virtual machine to focus on resource virtualization while the hardware handles packet distribution efficiently.

Inventive Principle:
Principle #2Taking out (Extraction)

3Ease of operation

If software switching mechanism is used, then packet distribution to multiple processes is enabled, but processor cycles are reduced for process execution

Engineering Contradiction:
Improvepacket distribution capabilityVSAvoidprocess execution speed
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent replaces the software-based virtual switch (mechanical system requiring processor cycles) with hardware-based nested virtual switches embedded in the NIC. This substitution enables packet distribution to multiple kernel isolated containers through hardware logic rather than software processing, freeing up processor cycles for actual process execution while maintaining the ability to distribute packets to multiple processes simultaneously.

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

Data Source

PatentUS12058046B2Computer device including nested network interface controller switches
Publication Date: 2024.08.06 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12058046B2 patent drawing
  • US12058046B2 patent drawing
  • US12058046B2 patent drawing

AI summary

Examples described herein generally relate to hosting kernel isolated containers within a virtual machine. A server includes a physical processor and a physical computer memory storing executable code, the executable code providing a host virtual machine including a kernel and at least one kernel isolated container within the host virtual machine. The server includes a physical network interface controller, NIC, including a first physical NIC switch and a second physical NIC switch. The first physical NIC switch is configured to distribute incoming data packets to a first plurality of functions including a physical function and virtual functions. At least one of the virtual functions is assigned to the host virtual machine. The second physical NIC switch is configured to distribute the incoming data packets for the host virtual machine to a second plurality of virtual functions including a respective virtual function assigned to an individual kernel isolated container.