Kernel Delegation Queue for Cross-Container Request Routing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing web server technologies face challenges in high-performance cross-container communication due to process isolation in user mode, which complicates the routing of HTTP requests between different containers.

Innovation Solution

The technology implements cross-container delegation by creating a delegation queue in the kernel of the operating system, where a service in one container adds a unique identifier as a property of the delegation queue, allowing a router in another container to open and delegate HTTP requests through this queue.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If process isolation in user mode is implemented for container security and reliability, then reliability and security are improved, but cross-container communication complexity and overhead increase

Engineering Contradiction:
Improvecontainer isolation reliabilityVSAvoidcross-container routing complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a kernel-based delegation queue as an intermediary mechanism between containers. Instead of direct user-mode communication which requires complex inter-process messaging, the delegation queue acts as a mediator that simplifies cross-container request routing through kernel-level abstraction, reducing communication complexity while maintaining isolation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces the mechanical user-mode process communication mechanism with a kernel-mode delegation queue system. This substitution eliminates the need for complex user-mode inter-process communication protocols and replaces them with simpler kernel-level queue management, reducing overhead and complexity

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Adaptability or versatility

If multiple internal HTTP requests are used for cross-container communication, then request routing flexibility is maintained, but communication overhead and time consumption increase

Engineering Contradiction:
Improverequest routing flexibilityVSAvoidcommunication time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by pre-establishing delegation queues in the kernel before cross-container communication is needed. The queues are created with unique identifiers and configured in advance, allowing requests to be routed directly without requiring multiple sequential internal HTTP requests, thus reducing communication time while maintaining routing flexibility

Inventive Principle:
Principle #10Preliminary action

3Reliability

If user mode process isolation is used, then security and reliability are improved, but direct access between containers is blocked

Engineering Contradiction:
Improveprocess isolation reliabilityVSAvoidcross-container access ease
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The kernel delegation queue serves as a controlled intermediary that enables cross-container access while preserving user-mode isolation. Containers cannot directly access each other, but both can access the shared kernel queue through standardized interfaces, making cross-container operation easy without compromising isolation or security

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12204922B2Cross-container delegation
Publication Date: 2025.01.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12204922B2 patent drawing
  • US12204922B2 patent drawing
  • US12204922B2 patent drawing

AI summary

A computing system delegates a request between a first container in user mode of an operating system on a webserver system and a second container in the user mode of the operating system. The operating system includes a kernel. A service in the second container creates a delegation queue in the kernel of the operating system. The service adds an identifier as a property of the delegation queue in the kernel, wherein the identifier is unique across the first container and the second container. A router executing in the first container opens the delegation queue in the kernel using the identifier, responsive to the adding operation. The request is delegated to the service executing in the second container via the delegation queue in the kernel, responsive to the opening operation.