Kubernetes CNI Plugin for Flow Table Abstraction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing and troubleshooting container networks in Kubernetes clusters is challenging due to the complexity of flow table entries and ongoing network connections, which are difficult for administrators and developers to understand and navigate.

Innovation Solution

A container network interface (CNI) plugin that maps networking and network policy data to Kubernetes cluster abstractions, providing users with readable data on flow entries, ongoing connections, and network policies, and includes modules for flow-based forwarding, connection tracking, and visualization to simplify debugging and troubleshooting.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flow-based forwarding elements are used to manage container networks, then networking functionality and security are improved, but the complexity of flow table entries increases making debugging difficult

Engineering Contradiction:
Improvenetworking functionalityVSAvoidflow table complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary component that translates complex flow table entries into more understandable representations. This intermediary layer mediates between the complex forwarding element internals and the users needing to debug or manage the network, allowing complex flow rules to be managed without exposing their full complexity to end users.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates simplified copies or representations of the complex flow table data. Instead of directly presenting the raw complex flow entries, the system generates simplified copies that retain the essential information needed for debugging while omitting unnecessary complexity, making it easier for administrators to understand and troubleshoot network issues.

Inventive Principle:
Principle #26Copying

2Difficulty of detecting and measuring

If detailed flow table entries and connection data are collected for troubleshooting, then diagnostic capability is improved, but data complexity and difficulty of interpretation increases

Engineering Contradiction:
Improvetroubleshooting capabilityVSAvoiddata interpretability
Core Design Contradiction:
Difficulty of detecting and measuringVSLoss of information

Solution Approach 1:

The patent segments the complex network data into organized, manageable portions. By dividing the flow table entries and connection data into structured segments with clear organization, the system maintains comprehensive diagnostic information while making it easier to navigate and interpret, preventing information overload that would hinder troubleshooting effectiveness.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If a single network plugin is used across multiple platforms, then adaptability is improved, but the complexity of managing diverse container orchestration environments increases

Engineering Contradiction:
Improveplatform compatibilityVSAvoidenvironment management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal network plugin design that can operate across diverse container orchestration platforms. This single plugin provides multi-functional capability to handle different platform requirements, reducing the need for platform-specific implementations while maintaining the ability to adapt to various environments through a unified interface that abstracts away platform-specific complexities.

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

Data Source

PatentUS11558426B2Connection tracking for container cluster
Publication Date: 2023.01.17 VMWARE INC
  • US11558426B2 patent drawing
  • US11558426B2 patent drawing
  • US11558426B2 patent drawing

AI summary

Some embodiments provide a method for a module executing on a Kubernetes node in a cluster. The method retrieves data regarding ongoing connections processed by a forwarding element executing on the node. The method maps the retrieved data to Kubernetes concepts implemented in the cluster. The method exports the retrieved data along with the Kubernetes concepts to an aggregator that receives data regarding ongoing connections from a plurality of nodes in the cluster.