NIC Virtualization via Hardware Segmentation and Destination Filtering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current virtualization approaches for network interface circuitry (NIC) in host computers with multiple operating systems or functions face substantial computational load and overhead, particularly with high-speed network interfaces, and lack effective segregation of memory references and data structures, leading to potential data corruption across guest OS instances.

Innovation Solution

The NIC is configured to operate without promiscuous mode, segregating memory references and using destination address filtering to direct network packets to specific guest OS instances, offloading protocol processing, and employing direct data placement to minimize overhead and ensure memory safety, allowing each guest OS to use separate data structures and queues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the NIC operates in promiscuous mode to accept all layer-2 network packets, then all guest OS instances can receive network traffic, but the computational load on the virtualization layer increases substantially and unnecessary packet processing occurs

Engineering Contradiction:
Improvenetwork packet reception capabilityVSAvoidcomputational load on virtualization layer
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the network packet filtering function from the virtualization layer and relocates it to the NIC hardware. The NIC is configured with multiple filter sets, each associated with a specific guest OS instance, enabling hardware-based packet filtering that directs packets to the appropriate guest without requiring software-based demultiplexing. This segmentation resolves the contradiction by maintaining versatile packet reception capability while eliminating the computational burden on the virtualization layer through hardware offloading of the filtering and routing decisions.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If the NIC operates in promiscuous mode to enable virtualization features, then multiple guest OS instances can share the NIC, but memory references and data structures are not segregated, leading to potential data corruption

Engineering Contradiction:
Improvemulti-guest OS supportVSAvoiddata integrity and memory safety
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments memory references and data structures by associating each guest OS instance with specific filter sets and memory regions. The NIC hardware maintains separate filter sets for each guest, ensuring that packets destined for one guest are directed only to that guest's memory space. This hardware-enforced segmentation prevents unauthorized memory access and data corruption between guests while maintaining full multi-guest OS support.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces filter sets as an intermediary layer between the NIC and guest OS instances. These filter sets act as hardware-based mediators that inspect packets, determine the appropriate destination guest, and direct traffic accordingly. This intermediary mechanism ensures reliable packet routing while maintaining strict memory segregation, preventing direct access between guest memory spaces and eliminating the risk of data corruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If separate NICs are used for different applications (Ethernet for general network, Fibre Channel for storage, high speed interconnect for HPC), then specialized performance is achieved, but cost and management complexity increase

Engineering Contradiction:
Improveapplication-specific performanceVSAvoidnumber of NICs and management overhead
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables a single NIC to perform multiple specialized functions by configuring it with different filter sets for different application types. The same physical NIC can handle Ethernet traffic for general networking, Fibre Channel protocols for storage, and high-speed interconnect protocols for HPC, all simultaneously. This multi-functionality is achieved through hardware-based protocol recognition and filtering, allowing one NIC to replace what would traditionally require multiple specialized NICs, thereby reducing device complexity and management overhead while maintaining application-specific performance.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8686838B1Virtualizing the operation of intelligent network interface circuitry
Publication Date: 2014.04.01 SPEEDNIC LLC
  • US8686838B1 patent drawing
  • US8686838B1 patent drawing
  • US8686838B1 patent drawing

AI summary

The present invention is in the field of virtualization of Network Interface Cards and Controllers (NIC) that connect to for example a host computer that can have multiple functions and OS's (referred to as guest functions and guest-OS's) running on it simultaneously and, in particular, relates to the virtualization of the operation of a single NIC such that it can be used simultaneously by multiple guests in such a manner that memory references due to the network traffic originating from and destined to a particular guest is kept separate from other network traffic, and that allows the Media Access Controller (MAC) within the NIC to operate such that it only accepts network packets that are destined to one of the guest-functions or guest-OS's, and the MAC is not required to operate in promiscuous mode where it accepts all incoming packets in order to implement the virtualization features.