Virtual TOE Bypassing Virtual Network Stack for Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network traffic processing requires significant host resources due to the need for multiple I/O operations and single-threaded processing, which can lead to inefficiencies in handling packets.

Innovation Solution

The method involves using a hardware Transmission Control Protocol (TCP) offload engine (HW TOE) to process packets, bypassing the virtual network stack (VNS), and utilizing a policy engine to determine when to use the HW TOE or an on-load TOE for packet processing, ensuring efficient handling of inbound and outbound packets.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If packets are processed using specialized hardware TOE, then host resource utilization is reduced, but device complexity increases

Engineering Contradiction:
Improvehost resource utilizationVSAvoiddevice complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The patent introduces a virtual TOE (VTOE) as an intermediary layer between the socket and the physical TOE. The VTOE manages multiple virtual instances that can be mapped to a shared physical TOE resource, allowing multiple virtual machines or applications to access TCP offload capabilities without each requiring dedicated hardware. This intermediary abstraction reduces overall host resource utilization while managing the complexity of sharing physical hardware among multiple users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The physical TOE is designed to serve multiple virtual TOEs simultaneously, making a single hardware device perform multiple functions for different virtual machines or applications. This multi-functionality allows the system to reduce host resource utilization by sharing the physical TOE across multiple users, while the VTOE layer manages the complexity of this shared resource allocation.

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

2Speed

If packets bypass the virtual network stack for direct TOE processing, then processing speed increases, but reliability decreases due to potential loss of network stack functionality

Engineering Contradiction:
Improvepacket processing speedVSAvoidnetwork processing reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The VTOE acts as an intermediary that selectively routes packets. For packets that can be processed directly by the physical TOE, the VTOE enables bypassing the VNS to achieve high-speed processing. For packets requiring network stack functionality (such as those needing advanced routing, firewall rules, or protocol handling), the VTOE redirects them through the VNS. This mediator approach maintains reliability by preserving necessary network stack processing while enabling speed improvements where applicable.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system dynamically determines the processing path for each packet based on its requirements. The VTOE evaluates whether a packet should be processed directly by the physical TOE (for speed) or routed through the VNS (for reliability and advanced processing). This dynamic routing ensures that each packet takes the most appropriate path, balancing speed and reliability based on individual packet needs.

Inventive Principle:
Principle #15Dynamics

3Productivity

If a single physical TOE serves multiple virtual TOEs, then resource efficiency improves, but fault tolerance decreases

Engineering Contradiction:
Improveresource efficiencyVSAvoidfault tolerance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system implements failover mechanisms where the VTOE layer maintains the capability to redirect traffic from a failed physical TOE to alternative processing paths. By preparing these backup routes in advance, the system cushions against potential hardware failures. When a physical TOE fails, the VTOE can redirect affected virtual machines' traffic to other available TOE resources or back through the software network stack, maintaining service continuity despite the shared resource vulnerability.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS7751401B2Method and apparatus to provide virtual toe interface with fail-over
Publication Date: 2010.07.06 ORACLE AMERICAN INC
  • US7751401B2 patent drawing
  • US7751401B2 patent drawing
  • US7751401B2 patent drawing

AI summary

A method for processing packets. The method includes receiving a first packet by a first socket on a host, determining by the first socket to process the first packet using a first virtual Transmission Control Protocol offload engine (VTOE), transmitting the first packet to the first VTOE, wherein transmitting the first packet to the first VTOE bypasses a first virtual network stack interposed between the first socket and first VTOE, transmitting the first packet to a HW TOE operatively connected to the host, processing the first packet, using the HW TOE, to obtain a first processed packet; and transmitting the first processed packet to a network operatively connected to the HW TOE, where the HW TOE is associated with the first VTOE and a second VTOE in the host.