Service Mesh Proxy for Dynamic Communication Adaptation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In distributed computing systems, existing technologies require code changes to subscriber and publisher services for dynamic communication adjustments, limiting flexibility and efficiency in service-to-service communication.

Innovation Solution

Implementing an abstraction and data model that allows dynamic communication changes through a proxy server, using a dynamically configurable communication mechanism, enabling changes in network communication policies and optimizations without modifying the subscriber or publisher service code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code changes are made to subscriber service and/or publisher service to adapt to communication-related changes, then communication policies and methods can be updated, but system complexity and maintenance cost increase

Engineering Contradiction:
Improvecommunication policy adaptabilityVSAvoidservice code complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary layer (service mesh/proxy) between subscriber services and publisher services that handles communication-related changes. This intermediary manages service discovery, load balancing, and communication policies without requiring changes to the actual service code, thus resolving the contradiction between adaptability and complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the communication system into distinct layers: the service code layer remains static and simple, while the communication infrastructure layer (handled by the proxy/service mesh) handles all dynamic communication policies. This segmentation allows communication adaptability without increasing service code complexity.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If static communication methods are used between subscriber service and publisher service, then implementation is simpler, but flexibility to adapt to network changes is reduced

Engineering Contradiction:
Improvecommunication implementation easeVSAvoidnetwork communication flexibility
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic communication capabilities through the proxy layer, which can adapt communication methods based on network conditions, service availability, and policy changes. The service code itself remains static and simple, while the proxy dynamically adjusts communication strategies, thus achieving both ease of operation and adaptability.

Inventive Principle:
Principle #15Dynamics

3Reliability

If service discovery matching is performed for service versions, then communication accuracy is improved, but time and computational resources are consumed

Engineering Contradiction:
Improveservice matching accuracyVSAvoidservice discovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary service discovery and registration mechanisms where services declare their capabilities and endpoints in advance. The proxy layer maintains service registries that enable rapid matching without requiring complex runtime analysis, thus achieving high matching accuracy with minimal time loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11165644B2Endpoint abstraction for service-to-service communication
Publication Date: 2021.11.02 HOME BOX OFFICE INC
  • US11165644B2 patent drawing
  • US11165644B2 patent drawing
  • US11165644B2 patent drawing

AI summary

The described technology is generally directed towards an abstraction and file model used for subscriber service and publisher service communication. The abstraction and file model enables dynamically changing the underlying communication mechanisms and introducing optimizations such as caching (reducing latency) and batching (improving bandwidth utilization) transparently, without any change to the subscriber or publisher code. The abstraction also facilitates introducing intermediate lightweight message-oriented middleware and provides for transparently scaling communication.