Logical Router Pod Linking Across Nodes for Distributed L7 Services

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Kubernetes orchestration platforms face challenges in effectively leveraging networking functions for micro-service-based cloud-native applications, particularly with network function virtualization data plane functions, as they struggle to handle layer 5-7 services efficiently due to limitations in current edge node architectures like the DPDK model.

Innovation Solution

Implementing logical routers in a Kubernetes cluster with a first Pod (L4 Pod) performing data forwarding operations and separate Pods (L7 Pods) handling layer 7 services, where the L4 Pod is affinitized to a node and L7 Pods are distributed based on resource usage, using a DPDK datapath with run-to-completion threads and control threads, and configuring L7 Pods through a network management system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a monolithic edge appliance model with DPDK is used, then networking performance is maximized for layer 4 services, but the architecture shows limitations when networking and security functions move to the application layer (L5-L7)

Engineering Contradiction:
Improvenetworking performanceVSAvoidadaptability to L5-L7 services
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the logical router functionality into separate Pods: an L4 Pod handling data forwarding operations and multiple L7 Pods handling specific layer 7 services. This segmentation allows the system to maintain high-performance DPDK processing for L4 while adding flexible L5-L7 service capabilities through independent, movable L7 Pods that can be distributed across different nodes based on resource usage.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If L7 Pods are distributed across multiple nodes based on resource usage, then scalability and resilience are enhanced, but connectivity between L4 Pod and L7 Pods on different nodes becomes complex

Engineering Contradiction:
Improvescalability and resilienceVSAvoidconnectivity configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces Kubernetes networking components (service mesh, service discovery mechanisms, and virtual networking infrastructure) as intermediaries that automatically manage connectivity between the L4 Pod and distributed L7 Pods. These intermediaries handle service registration, load balancing, and network routing, eliminating the need for manual connectivity configuration and enabling seamless communication across nodes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If L4 Pod is affinitized to a specific node, then data forwarding operations are stable, but the system loses flexibility in resource utilization

Engineering Contradiction:
Improvestability of data forwardingVSAvoidresource utilization flexibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments the router functionality so that only the L4 Pod (handling stable, performance-critical data forwarding) is affinitized to a specific node, while L7 Pods (handling flexible, resource-intensive services) are allowed to migrate across nodes based on resource availability. This segmentation maintains forwarding stability while enabling flexible resource utilization for service functions.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS12506690B2Connectivity between logical router pods
Publication Date: 2025.12.23 VMWARE INC
  • US12506690B2 patent drawing
  • US12506690B2 patent drawing
  • US12506690B2 patent drawing

AI summary

Some embodiments provide a method for implementing a logical router of a logical network at a first Pod executing on a first node of a Kubernetes cluster to implement data message forwarding for the logical router. The method receives a data message for processing by the logical router. The method determines that the data message requires layer 7 (L7) service processing at the logical router. The method selects a second Pod from multiple Pods that perform L7 service for the logical router. Each of the Pods executes on a different node of the cluster. The method forwards the data message to the second Pod via a layer 2 (L2) construct that connects the first and second Pods.