Smart Routing Local Transport Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In client-server architectures, routing client requests back to the same physical server for processing can be inefficient, as it often requires network communication, which is suboptimal.

Innovation Solution

Implementing an optimized transport mechanism that uses a local-machine-only transport, such as a named pipe binding, to route client requests and responses between router and server modules on the same physical computer, avoiding the use of a network stack.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard network transport is used to route client requests between router and server modules, then routing can be performed over the network, but routing efficiency is reduced due to network stack overhead

Engineering Contradiction:
Improverouting efficiencyVSAvoidtransport mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system applies different transport mechanisms based on the location of the router and server modules. When both modules are on the same physical machine, a local-machine-only transport (such as named pipes or shared memory) is used instead of standard network transport. This local transport eliminates network stack overhead while maintaining the same routing functionality, thereby improving routing efficiency without adding significant complexity.

Inventive Principle:
Principle #3Local quality

2Speed

If local-machine-only transport is used when router and server are on the same physical computer, then processing speed is improved and resource utilization is reduced, but the system must determine whether to use local or network transport

Engineering Contradiction:
Improveprocessing speedVSAvoidtransport selection complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary determination of whether the router and server modules are located on the same physical machine before selecting the transport mechanism. This is done by comparing network addresses or checking location information in advance. By making this determination beforehand, the system can automatically select the appropriate transport (local or network) without requiring complex real-time decisions, thus improving processing speed while keeping the selection logic manageable.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If standard network transport is used for all routing operations, then the system works consistently across different configurations, but efficiency is lost when router and server are on the same machine

Engineering Contradiction:
Improverouting efficiencyVSAvoidtransport adaptability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adapts its transport mechanism based on the runtime configuration of router and server module locations. Rather than using a fixed transport method, the system can switch between local-machine-only transport (when both modules are on the same physical machine) and standard network transport (when they are on different machines). This dynamic adaptation improves routing efficiency in same-machine scenarios while maintaining versatility across different deployment configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2415213B1Smart routing
Publication Date: 2019.07.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP2415213B1 patent drawingFigure 1
  • EP2415213B1 patent drawingFigure 2
  • EP2415213B1 patent drawingFigure 3

AI summary

A router module receives a client request. In response to receiving the request, the router module obtains the network address of a server module to fulfill the request. The router module then determines whether it is executing on the same physical computer as the server module. If the router module determines that the server module is not executing on the same physical computer, the router module forwards the client request to the server module utilizing a standard network transport. If the router module determines that the server module is executing on the same computer, the router module forwards the client request to the server module using an optimized transport, such as an optimized local-machine-only transport.