Non-TCP Endpoint Management via Dynamic Expiry and Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems fail to efficiently manage non-TCP traffic in data centers, leading to resource contention, inefficient memory utilization, and poor network performance due to the diverging characteristics of TCP and non-TCP traffic.

Innovation Solution

A state machine operated by the server manages non-TCP traffic using multiple memory partitions and an expiry algorithm, dynamically adjusting endpoint lifetime and cleanup intervals based on memory availability and utilization, ensuring uniform distribution and efficient removal of idle endpoints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If non-TCP traffic information is stored in a single data structure, then resource contention occurs when multiple processors or threads access the same resource concurrently, but storing across many data structures consumes higher memory and CPU utilization

Engineering Contradiction:
Improveresource contention preventionVSAvoidmemory consumption
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments non-TCP traffic information storage into multiple hash tables distributed across different processors or threads. Each processor or thread has its own hash table, eliminating resource contention while maintaining efficient memory utilization. The segmentation is achieved through hash function distribution that maps endpoint information to specific hash tables based on processor ID or thread ID.

Inventive Principle:
Principle #1Segmentation

2Productivity

If non-TCP traffic information is stored across a large number of data structures, then memory consumption and CPU utilization increase, but resource contention is reduced

Engineering Contradiction:
Improveconnection speedVSAvoidCPU utilization
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic endpoint lifetime management where the lifetime of stored endpoint information is adjusted based on system conditions. The expiry mechanism dynamically removes stale entries from hash tables, optimizing memory usage and CPU cycles. The lifetime parameter is configurable and can be adjusted based on traffic patterns and system load, balancing connection speed with resource consumption.

Inventive Principle:
Principle #15Dynamics

3Speed

If endpoint lifetime is extended for non-TCP traffic, then memory utilization increases, but connection speed improves

Engineering Contradiction:
Improveconnection speedVSAvoidmemory utilization
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent implements periodic expiry checks and cleanup mechanisms for non-TCP endpoint information in hash tables. Instead of extending endpoint lifetime indefinitely, the system periodically reviews and removes stale entries based on configured lifetime parameters. This periodic action maintains connection speed by keeping valid endpoints readily available while preventing excessive memory utilization through systematic removal of expired entries.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentEP3491807B1Storing and expiring non-TCP endpoints
Publication Date: 2021.02.17 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3491807B1 patent drawingFigure 1
  • EP3491807B1 patent drawingFigure 2
  • EP3491807B1 patent drawingFigure 3

AI summary

Present disclosure provides techniques for dynamically determining how to store and expire non-TCP traffic in a network environment. In some examples, aspects of the present disclosure may implement a state machine operated by the server for managing non-TCP traffic. Critically, in accordance with aspects of the present disclosure, non-TCP traffic may be combined with the use of multiple memory partitions and an expiry algorithm that supports dynamic scaling of non-TCP traffic while achieving faster connection speed, higher system performance, and lower time complexity. The algorithm determines whether the number of non-TCP endpoints stored in the memory of the server is outside of a defined range, adjusts an endpoint lifetime value and a cleanup interval value if this number is outside the range, and removes one or more non-TCp endpoints from the memory in response to these adjusted values.