Multiplexing Driver for Network Namespace Stream Consolidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional server computer operations in multiple network namespaces require significant changes to network service applications, as they are not network-namespace-aware, necessitating multiple listeners or streams for communication with clients across different namespaces.

Innovation Solution

Implementing a multiplexing driver that combines communication streams from multiple network namespaces into a single stream, allowing requests to be presented to applications as if they originated from a single namespace, with the multiplexing driver demultiplexing replies back to the appropriate namespace drivers based on identifiers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If multiple listeners are implemented to communicate with clients across different network namespaces, then communication capability with multiple namespaces is improved, but application complexity and resource consumption increase

Engineering Contradiction:
Improvecommunication capability with multiple network namespacesVSAvoidapplication complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a multiplexing driver as an intermediary layer between the network namespace drivers and the application. This driver receives communication streams from multiple network namespace drivers, multiplexes them into a single stream, and presents it to the application as if from a single namespace. The application remains simple and unaware of the multiple namespaces, while the multiplexing driver handles the complexity of managing multiple namespace communications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple listeners are implemented to communicate with clients across different network namespaces, then communication capability with multiple namespaces is improved, but resource consumption increases

Engineering Contradiction:
Improvecommunication capability with multiple network namespacesVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent merges multiple communication streams from different network namespace drivers into a single multiplexed communication stream. Instead of maintaining separate listeners and streams for each namespace, the system combines them into one stream that is processed by a single application listener, thereby reducing resource consumption while maintaining the ability to communicate with multiple namespaces.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If applications are modified to be network-namespace-aware, then namespace awareness is improved, but modification cost and complexity increase

Engineering Contradiction:
Improvenetwork namespace awarenessVSAvoidmodification cost
Core Design Contradiction:
ReliabilityVSEase of manufacture

Solution Approach 1:

The patent segments the network communication functionality into separate network namespace drivers that are independent of the application. Each namespace driver handles communication for its specific namespace, and the multiplexing driver coordinates them. This segmentation allows the application to remain unchanged and unaware of namespaces, while the namespace awareness is implemented in the driver layer below the application.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10897488B1Multiplexing traffic from multiple network namespaces to a single listener in a stream-based server application
Publication Date: 2021.01.19 EMC IP HLDG CO LLC
  • US10897488B1 patent drawing
  • US10897488B1 patent drawing
  • US10897488B1 patent drawing

AI summary

Techniques of operating a server computer running an application for clients operating in multiple network namespaces involve multiplexing communications streams from clients hosted in different network namespaces into a single communication stream to present the requests to an application as if they originated from a single network namespace. Along these lines, a server computer commences operation by initiating a network namespace driver for each network namespaces and a multiplexing driver to multiplex network namespace communication streams received from the network namespace drivers. When the multiplexing driver receives an application access request from a network namespace driver within a network namespace communication stream, the multiplexing driver provides the request and a network namespace identifier identifying the network namespace driver to a stream head within a multiplexed communication stream that includes requests from other network namespace drivers.