Dynamic Service Mesh Routing via Adaptive Tables

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Service-Oriented Architecture (SOA) designs face challenges in scaling and orchestrating large numbers of services, particularly in dynamic environments, as traditional routing methods become inefficient and complex when handling numerous services.

Innovation Solution

A dynamic service mesh system that includes mesh points with a communications interface and a routing engine, which uses a routing table to determine the best service to route messages based on acceptance and rejection indications, automatically updating the table and incrementing fail counts for rejected services.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional routing methods are used in SOA, then routing functionality is provided, but the system becomes inefficient and complex when handling large numbers of services

Engineering Contradiction:
Improverouting efficiencyVSAvoidrouting complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the routing functionality by introducing mesh points that independently maintain routing tables and make routing decisions. Each mesh point handles routing for specific service groups, dividing the overall routing complexity into manageable segments rather than requiring a centralized routing system to handle all services.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic routing tables that automatically update based on service registration and message delivery outcomes. The routing tables adapt in real-time to changing service availability and performance, allowing the system to dynamically optimize routing paths without manual reconfiguration as services are added or removed.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If services are added to scale the SOA architecture, then service capacity increases, but orchestration difficulty increases

Engineering Contradiction:
Improveservice scalabilityVSAvoidorchestration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent enables services to self-register with mesh points and automatically update routing tables. When a service is added to the architecture, it autonomously announces its availability and capabilities, and the routing system automatically incorporates it into the mesh, eliminating the need for manual orchestration configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback mechanisms where message delivery outcomes (success or failure) are reported back to the routing engine, which then updates the routing table accordingly. This continuous feedback loop allows the system to automatically learn and adapt to service performance characteristics as services are added or modified.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If manual routing configuration is used, then routing control is provided, but the system cannot adapt to dynamic service additions

Engineering Contradiction:
Improverouting controlVSAvoiddynamic adaptation
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent performs preliminary actions by pre-establishing the mesh point infrastructure and routing table structures before services are added. The routing tables are pre-configured with the capability to store and manage service routing information, enabling automatic adaptation once services are introduced without requiring subsequent manual configuration changes.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9407546B2Routing a message using a routing table in a dynamic service mesh
Publication Date: 2016.08.02 RED HAT INC
  • US9407546B2 patent drawing
  • US9407546B2 patent drawing
  • US9407546B2 patent drawing

AI summary

An example method for routing a message in a dynamic service mesh includes receiving at a mesh point a first message from a sender service and determining, based on a routing table, whether the mesh point has previously received a second message from the sender service. When the mesh point is determined to not have received the second message from the sender service, the first message is routed to a target service in the dynamic service mesh. The method includes receiving an indication of whether the first message has been accepted by the target service and updating the routing table based on the indication. When the indication indicates that the first message has been rejected by the target service, the first message is routed from the mesh point to a second target service.