Container Packet Processing via Namespace Identification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Managing communications between containers in a host computing element is challenging due to difficulties in identifying which process initiates communication and determining whether it should be permitted, especially for kernel-based packet processing.

Innovation Solution

A method that identifies packets originating from container or host namespaces using process identifier numbers, determines supplemental information for containers, and processes packets based on this information to manage communications effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If containers share resources from the host computing element, then resource utilization efficiency is improved, but the complexity of managing communications between containers and the host increases

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidcommunication management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a namespace identifier as an intermediary mechanism that bridges the gap between container processes and host kernel. By embedding namespace identifiers in process identifier numbers, the system enables the host kernel to distinguish container-originated packets without requiring complex communication management infrastructure. This intermediary approach allows containers to share host resources while maintaining clear identification boundaries for communication control.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If containers are provisioned with private access to the operating system with their own namespace, then container isolation and security are improved, but the difficulty of identifying which process initiates communication increases

Engineering Contradiction:
Improvecontainer isolation and securityVSAvoidprocess identification difficulty
Core Design Contradiction:
ReliabilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent merges the namespace identification function with the existing process identifier number system. By combining container namespace identifiers with process PIDs into a unified identifier structure, the system maintains container isolation and security while enabling the host kernel to easily identify which container process initiates communication. This merging eliminates the need for separate identification mechanisms and reduces detection difficulty.

Inventive Principle:
Principle #5Merging (Combining)

3Speed

If the kernel processes packets from containers without supplemental container information, then processing speed is improved, but the accuracy of communication permission determination decreases

Engineering Contradiction:
Improvepacket processing speedVSAvoidcommunication permission determination accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The patent implements preliminary action by pre-embedding namespace identifiers within the process identifier numbers before packet transmission. This allows the host kernel to access container identification information directly from the packet's process identifier without requiring additional lookup operations or supplemental information retrieval during packet processing. The preliminary embedding of identification data maintains processing speed while enabling accurate communication permission determination.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11811879B2Networking connection management based on container identification
Publication Date: 2023.11.07 VMWARE INC
  • US11811879B2 patent drawing
  • US11811879B2 patent drawing
  • US11811879B2 patent drawing

AI summary

Described herein are systems, methods, and software to enhance packet processing. In one implementation, a host computing element identifies a packet from a process executing on the host computing element. In response to identifying the packet, the host computing element determines whether the packet originates from a container namespace corresponding to a container on the host computing element or a host namespace corresponding to the host computing element. If the packet originates from a container namespace, the host computing element may determine supplemental information for the container associated with the container namespace, and process the packet based on the supplemental information.