Precomputed Encapsulated Headers for Virtual Switch Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Encapsulating and decapsulating data packets in software-defined datacenters is time-consuming and resource-intensive, significantly impacting network throughput.

Innovation Solution

Precomputing encapsulated headers in advance for virtual machines, allowing for quicker and more efficient encapsulation of data packets by using precomputed headers instead of generating them anew each time a packet is received.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If encapsulated headers are generated anew each time a packet is received, then the encapsulation process is flexible and adaptive, but the network throughput decreases and CPU resource consumption increases

Engineering Contradiction:
Improvenetwork throughputVSAvoidtime for encapsulation and checksum computation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent precomputes encapsulated headers in advance and stores them in a lookup table before they are actually needed for packet encapsulation. When a packet needs to be encapsulated, the precomputed header is retrieved from the lookup table rather than being generated in real-time, significantly reducing the time and CPU resources required for encapsulation operations.

Inventive Principle:
Principle #10Preliminary action

2Speed

If encapsulated headers are precomputed in advance, then the encapsulation speed increases and network throughput improves, but the initial processing overhead and memory usage increase

Engineering Contradiction:
Improveencapsulation speedVSAvoidCPU cycles for header computation
Core Design Contradiction:
SpeedVSUse of energy by stationary object

Solution Approach 1:

The system performs header computation in advance during periods when network traffic is lower, distributing the computational load over time rather than concentrating it during peak traffic periods. This spreads the CPU energy consumption across multiple time points, reducing the instantaneous energy burden while maintaining high encapsulation speeds during actual data transmission.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of regenerating the same encapsulated headers repeatedly for different packets with similar characteristics, the system computes each unique header once, stores it in the lookup table, and then reuses it for multiple packets. This copying approach eliminates redundant computation, significantly reducing total CPU cycles required while maintaining encapsulation speed.

Inventive Principle:
Principle #26Copying

3Productivity

If precomputed encapsulated headers are used, then CPU cycles for checksum computation are reduced, but the complexity of header management increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidcomplexity of header management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a lookup table as an intermediary data structure between the packet processing logic and the encapsulated headers. This lookup table manages the storage, retrieval, and validation of precomputed headers, shielding the complex header management details from the main packet processing flow and simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11165700B2Method for improving throughput for encapsulated network traffic
Publication Date: 2021.11.02 VMWARE INC
  • US11165700B2 patent drawing
  • US11165700B2 patent drawing
  • US11165700B2 patent drawing

AI summary

An approach for improving throughput for encapsulated network traffic is provided. In an embodiment, a method comprises obtaining a plurality of network addresses of a plurality of intermediaries that facilitate communications between a plurality of virtual machines. A set of source-destination intermediary pairs is determined based on the plurality of network addresses, and for each source-destination intermediary pair, from the set of source-destination intermediary pairs, a precomputed encapsulated header is generated and included in a set of precomputed encapsulated headers. If a data packet from a particular source intermediary and destined to a particular destination intermediary is received, and a particular precomputed encapsulated header for the particular source intermediary and the particular destination intermediary is included in the set of precomputed encapsulated headers, then the particular precomputed encapsulated header is retrieved from the set of precomputed encapsulated headers and used to form a particular encapsulated packet.