Tunnel Endpoint Selection via Hash Learning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data centers, managing multiple tunnel endpoint addresses for forwarding elements is complex, especially when implementing MAC over IP tunnels for communication between virtual machines and servers, as existing methods lack efficient schemes for load balancing and endpoint selection.

Innovation Solution

A method for encapsulating packets at a source managed forwarding element (MFE) that involves selecting source and destination tunnel endpoints using techniques like hashing of MAC and IP addresses, or assessing current load, and storing mappings to ensure efficient load balancing and packet routing through the same tunnel endpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If forwarding elements use multiple tunnel endpoint addresses to leverage multiple physical interfaces, then network capacity and redundancy are improved, but endpoint selection complexity and load balancing difficulty increase

Engineering Contradiction:
Improvenetwork capacityVSAvoidendpoint selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by using hash functions with different seed values to dynamically select tunnel endpoints. The hash function takes packet characteristics (source/destination MAC addresses, IP addresses, ports) as input and produces a tunnel endpoint index. By changing the hash seed parameter, the system can distribute traffic differently across multiple endpoints while maintaining consistency for the same flow, thus managing complexity through mathematical transformation rather than complex routing logic

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements feedback mechanisms where the system monitors tunnel endpoint status, load conditions, and packet routing success. Based on this feedback, the load balancer adjusts hash seed values or selects different endpoints dynamically. The system learns from routing outcomes and adapts endpoint selection to maintain optimal network performance while handling the complexity of multiple endpoints

Inventive Principle:
Principle #23Feedback

2Reliability

If load balancing is implemented across multiple tunnel endpoints, then network reliability and performance are improved, but packet routing consistency may deteriorate

Engineering Contradiction:
Improvenetwork reliabilityVSAvoidpacket routing consistency
Core Design Contradiction:
ReliabilityVSStability of the object's composition

Solution Approach 1:

The patent applies local quality by treating different packet flows differently in the load balancing process. Instead of uniform random distribution, the system uses hash functions that map specific packet characteristics (source MAC, destination MAC, IP addresses, ports) to specific tunnel endpoints. This ensures that all packets belonging to the same flow (with identical characteristics) are consistently routed through the same tunnel endpoint pair, maintaining routing consistency locally for each flow while achieving global load balancing across multiple endpoints

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system performs preliminary actions by pre-computing hash values and determining tunnel endpoint assignments before actual packet transmission. The load balancer calculates which tunnel endpoint pair should handle a given flow based on hash functions applied to packet headers, and this assignment is stored and reused for all subsequent packets in the same flow. This preliminary determination ensures consistent routing without requiring real-time decision-making for each packet

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If tunnel endpoint mappings are stored and learned, then routing stability is improved, but memory usage and mapping management complexity increase

Engineering Contradiction:
Improverouting stabilityVSAvoidmemory usage
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential mapping information needed for routing stability. Instead of storing complete tunnel endpoint configurations, status details, or comprehensive routing tables, the system stores minimal mapping entries that associate packet flow identifiers (derived from hash functions) with selected tunnel endpoint indices. This extraction of essential information reduces memory usage while maintaining sufficient routing stability for ongoing flows

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS12073241B2Learning of tunnel endpoint selections
Publication Date: 2024.08.27 VMWARE INC
  • US12073241B2 patent drawing
  • US12073241B2 patent drawing
  • US12073241B2 patent drawing

AI summary

Some embodiments provide a method for a managed forwarding element (MFE). At the MFE, the method receives a first packet from a particular tunnel endpoint. The first packet originates from a particular data compute node associated with multiple tunnel endpoints including the particular tunnel endpoint. Based on the first packet, the method stores an association of the particular tunnel endpoint with the particular data compute node. The method uses the stored association to encapsulate subsequent packets received at the MFE and having the particular data compute node as a destination address with the particular tunnel endpoint as a destination tunnel endpoint.